home *** CD-ROM | disk | FTP | other *** search
/ Aminet 49 / Aminet 49 (2002)(GTI - Schatztruhe)[!][Jun 2002].iso / Aminet / comm / news / slrn-BIN.lha / slrn-BIN-0.9.7.4 / changes.txt < prev    next >
Text File  |  2002-03-13  |  97KB  |  2,187 lines

  1. Changes since 0.9.7.3
  2.  
  3. 0. Bug fixes include:
  4.   * slrn sometimes hung when reading via SSL. (Robert Dennis Manchester)
  5.   * Sometimes headers were cut off during MIME encoding (Andreas Ferber)
  6.   * Mouse support did not work correctly when using a translation.
  7.   * Fixed a segfault while scoring. (Byrial Jensen)
  8.   * Fixed rare segfault caused by broken "References:" lines. (Felix Schueller)
  9.   * Fixed a segfault while browsing URLs.
  10.   * get_(fg|bg)_color() mapped color names incorrectly and did not allow
  11.     quotes[0-7] as an argument.
  12.   * Use color object "message" for all prompts.
  13.   * The high / low scoring article counters work correctly.
  14.   * Don't remove _^H combinations in articles (corrupted yenc-encoded data).
  15.   * Don't decode headers when writing them into the overview file (slrnpull).
  16.   * The --with-libdir config option was ignored.
  17.   * Work around a problem with leafnode when getting articles from a different
  18.     group by Message-Id.
  19.   * Recognize SN's timeout messages.
  20.   * TABs in the text of popup_window()s are now expanded correctly.
  21.   * Don't turn off scoring when scorefile contains a single invalid regexp.
  22. 1. New algorithm for article sorting (based on a patch by Felix Schueller).
  23.    This adds a highly configurable custom sorting interface (which will
  24.    completely replace the choice in sorting_method at some point). See
  25.    custom_sort_order and custom_sort_by_threads in the manual.
  26.    Moreover, the new code sorts "siblings" inside of threads.
  27. 2. Made confirm_actions a bitmapped value to allow more fine-grained
  28.    control. The new default is 31 (confirm all actions).
  29. 3. The output of --kill-log now also shows which scorefile entries match
  30.    the killed article (like view_scores; based on patch by Jurriaan W Kalkman)
  31. 4. New variable max_queued_groups to control batching of GROUP commands at
  32.    startup, as some servers do not seem to like it. (Craig B. Agricola)
  33. 5. In article mode, "expunge" now triggers the newsrc autosave copy feature.
  34. 6. Added intrinsic functions bsearch_article, re_bsearch_article,
  35.    re_search_article_first, search_article_first, set_ignore_quotes,
  36.    set_strip_re_regexp, set_strip_sig_regexp and set_strip_was_regexp. Added
  37.    a return value to register_hook (hopefully, you'll find it backwards
  38.    compatible).
  39. 7. Added support for dynamically linking slang modules using the import
  40.    intrinsic function (where available).
  41. 8. Added --with-mta option to the configure script to easily allow the use
  42.    of alternate mail transport agents (MTAs).
  43. 9. In a Cygwin environment, slrn can (and should) now be built Unix-like.
  44. 10. More translations:
  45.    * es.po (Spanish; Walter Echarri)
  46.    * fr.po (French; slrn-fr project)
  47.    * ko.po (Korean; Im Eunjea)
  48. 11. New config variable "hide_quotes" (see manual for details).
  49. 12. When using inews on OS/2 or Windows, the article is now written to a
  50.     temporary file instead of piped into the program.
  51.  
  52. Changes since 0.9.7.2
  53.  
  54. 0. Bug fixes include:
  55.   * Removed code that unpacks "shell archives" as it causes a serious
  56.     security hole. Reported by Byrial Jensen.
  57.   * Even when using read_active, slrn would enter all subscribed groups.
  58.   * force_authentication was ignored when re-connecting.
  59.   * In rare cases, the need to send authentication data was not recognized.
  60.   * Interpret "news:" URLs enclosed in angle brackets correctly.
  61.   * Scorefiles get "include"d only once (no more loops).
  62.   * Unsubscribed groups are no longer moved to the bottom of the newsrc file.
  63.   * Multiple '%s' in (non_)Xbrowser are handled correctly (fixes segfault).
  64. 1. Minor UI changes:
  65.   * Tagging ('*') an article marks it as unread.
  66.   * The new default of 'reject_long_lines' is 2.
  67.   * When confirm_actions is set, catching up a group requires confirmation.
  68.   * Complain if user specifies a nonexistant config file on the command line.
  69.   * Made new_subject_breaks_threads a bitmapped value (see manual for details)
  70. 2. On Unix, gettext is used to translate messages. Thanks to the slrn-pl and
  71.    slrn-fr projects who helped with this and provided patches. Thanks to
  72.    Byrial Jensen for a lot of minor improvements.
  73.    Currently, the following translations are available:
  74.     - da.po (Danish; Byrial Jensen)
  75.     - de.po (German; Jens Wahnes)
  76.     - it.po (Italian; Emmanuele Bassi)
  77.     - nl.po (Dutch; Jelmer Vernooij)
  78.     - pl.po (Polish; Jarek Baczynski / Arkadiusz Sochala)
  79.     - ru.po (Russian; Andy Shevchenko)
  80.    Note: This feature made the source tarball grow quite a bit, but I think
  81.          it is worth it.
  82. 3. Switched to automake to generate Unix Makefiles (which required renaming
  83.    some source files). Please let me know if this introduces problems for you.
  84.     * You can now install the contributed scripts using "make install-contrib"
  85.     * "uninstall" and "dist" targets are available
  86.     * New directory structure: Config files (slrn.rc and help.txt) should
  87.       now be put in %sysconfdir (default: /usr/local/etc), macros go into
  88.       %sharedir/slrn/macros, newsgroups.dsc in %sharedir/slrn (default of
  89.       %sharedir is /usr/local/share). If slrnpull.conf is not found in
  90.       $SLRNPULL_ROOT, slrnpull looks for it in %sysconfdir
  91.    => Pass --prefix=/usr --mandir=/usr/share/man --sysconfdir=/etc/news
  92.       to ./configure to do an FHS compliant installation.
  93. 4. The new function "view_scores" (bound to 'v' in article mode) shows you
  94.    which scorefile entries matched the current article. Assigning names to
  95.    your entries (see score.txt for details) will make this even more useful.
  96.    Based on a patch by Juergen Graefe <graefe@zpr.uni-koeln.de>
  97. 5. The new intrinsic functions "register_hook" and "unregister_hook" allow
  98.    the definition of multiple functions for most hooks. Patch by Robin
  99.    Sommer <rsommer@uni-paderborn.de>   
  100. 6. An autosave copy of the newsrc file is created whenever you leave a
  101.    group. This can be turned off with no_autosave. Patch by Felix Schueller.
  102. 7. Scoring on "Bytes:" (by integer value, not regexp) is possible. In
  103.    header_display_format, you can use '%b' to display the number of bytes.
  104.    This is available when reading overview data only (e.g. _not_ in slrnpull)!
  105. 8. In *_display_format and *_status_line, the additional modifier '*' can be
  106.    used to center justify text in a field of a given width.
  107. 9. slrn accepts 8bit characters in newsgroup names.
  108. 10. Updated cleanscore, see contrib/NEWS.cleanscore (Felix Schueller)
  109. 11. The code that allows running slrnpull as an unpriviledged user can now
  110.     be turned on by passing --enable-setgid-code to configure. It no longer
  111.     makes outgoing postings group writeable.
  112. 12. The bottom line now has its own color object ("message").
  113. 13. New intrinsic functions get_fg_color and get_bg_color that return the
  114.     current color of an object.
  115. 14. In the readline keymap, the new functions "delbol" (^U) and "delbow"
  116.     (^W) will delete to the beginning of the line or the word, respectively.
  117. 15. In selection lists (e.g. used by color.sl), pressing a letter takes you to
  118.     the next (or previous, if shift was held down) entry that starts with it.
  119. 16. New descriptors in header_status_line: %h, %l and %k now stand for the
  120.     number of high / low scoring / killed articles, respectively.
  121. 17. A copyright notice can now be displayed from the help window.
  122. 18. New intrinsic functions read_mini_variable (tab completes variable
  123.     names) and read_mini_integer. See macros/varset.sl for an example
  124.     (easy interactive setting of variables at runtime).
  125.  
  126. Changes since 0.9.7.1
  127.  
  128. !!! Changes when building on Un*x:
  129.   * Support for inews, slrnpull and spool is now disabled by default.
  130.   * Please use --with-slrnpull instead of calling "make slrnpull".
  131.  
  132. 0. Bug fixes include:
  133.   * In spool mode, slrn hung when applying expensive scores immediately.
  134.   * In spool mode, slrn choked on 0xFF characters in overview files.
  135.   * Don't segfault when trying to decode an empty article.
  136.   * The "unread articles" counter and group_unread() always work correctly.
  137.   * Expensive scoring in slrnpull did not work.
  138.   * "include file" in slrn.rc refers to ~/file again.
  139. 1. More changes to the user interface:
  140.   * Include only visible headers when forwarding, unless a prefix arg is used.
  141.   * Re-tagging an article removes the numerical tag.
  142.   * Numerically tagging a collapsed thread (un-)tags all the children.
  143.   * The cursor always moves down after numerically (un-)tagging.
  144.   * The read_mini intrinsic function does not append a colon to the prompt
  145.     any longer. This was requested to allow for greater flexibility.
  146. 2. Tab completion is available when prompting for filenames. To use this
  147.    feature in your macros, call read_mini_filename.
  148. 3. slrn no longer uses the deprecated syntax in "From:" headers. Parsing and
  149.    MIME encoding is also rewritten to be a bit more RFC compliant.
  150. 4. Batch initial GROUP commands (speeds up startup when read_active is 0).
  151. 5. A "Date:" header is generated when writing to mbox files and sending mail;
  152.    optionally, it can be turned on for posting as well (generate_date_header).
  153. 6. Only send authentication data when the server requests it (RFC2980).
  154.    If you need to volunteer authinfo (e.g. because the server does not let
  155.    you post otherwise), set "force_authentication" to 1.
  156.    When necessary, you are prompted for username and password even if the
  157.    "nnrpaccess" command is not used.
  158. 7. Text in header lines can be emphasized (add 8 to emphasized_text_mask).
  159. 8. New flag "%P" in header_display_format that is true if article has a
  160.    parent. (Leopold Toetsch)
  161. 9. New variable mail_editor_is_mua to make sure mail does not get sent twice
  162.    (both by mail_editor_command and slrn).
  163. 10. On Win32 and OS/2, description files are now <newsrc>.dsc, not ds-<newsrc>
  164. 11. If $SLRNHELP is unset, slrn looks for $SLRN_LIB_DIR/help.txt
  165. 12. slrn now detects and interprets "news:" URLs.
  166. 13. Support Greek characters on Win32 - set charset to "ibm737" for this.
  167.     With help from Arkadiusz Mucha <arkmch@priv.onet.pl>
  168. 14. You can now use editors that use a different charset than slrn itself
  169.     (e.g. on Win32); when doing this, set editor_uses_mime_charset to 1.
  170. 15. New intrinsic function "popup_window" to display long messages / text.
  171. 16. New group mode function "group_search_backward", by default bound to "\".
  172. 17. Added manual page for slrnpull.
  173. 18. Better support for filenames on CYGWIN (includes code contributions by
  174.     Rudy Taraschi <rudy@cae.com>).
  175. 19. New release of cleanscore, see contrib/README.cleanscore (Felix Schueller)
  176. 20. Header lines are saved when decoding (again). Hopefully, the uudecode
  177.     routine now handles them correctly. If you have uudeview support
  178.     compiled in, but want to use the builtin code, set use_uudeview to zero.
  179.  
  180. Changes since 0.9.7.0a
  181.  
  182. 0. Bug fixes:
  183.   * Saved articles are marked as read if auto_mark_article_as_read is on.
  184.   * "compatible_charsets" did not work correctly.
  185.   * Fixed segfault when trying to get an expunged article back in a
  186.     non-threaded sorting mode.
  187.   * is_article_window_zoomed works again.
  188.   * extract_article_header will search full headers again if it does not
  189.     require a server query.
  190.   * Only use "from_myself" if realnames match exactly.
  191.   * Possible crash in external uudeview support fixed.
  192.   * Fixed segfault when no regexp is given in a scorefile entry.
  193.   * Fixed reply address extraction when scoring on "Reply-To:" header lines
  194.     and some related problems.
  195.   * skip_to_next_group will not fail when all articles in a group are killed.
  196.   * IBM850 charset mapping was incorrect for some characters (fixed with
  197.     help from Jens Wahnes <jewa@gmx.net>)
  198.   * ESC 2/4 RET also work when query_read_group_cutoff is non-zero.
  199.   * A minor fix for building on OS/2 (Francesco Cipriani <fc76@softhome.net>)
  200. 1. Platform specific improvements:
  201.   * Added FreeBSD keycodes for PageUp / PageDown. (Jimmy Olgeni)
  202.   * Implemented "notepad printing" for OS/2.
  203. 2. Better support for broken servers:
  204.   * Ignore "new" groups which are already in our newsrc file (suggested by
  205.     Alex Chiang)
  206.   * Test if XHDR can be used to retrieve non-overview headers.
  207.   * New option "drop_bogus_groups".
  208. 3. Minor changes to the user interface:
  209.   * In anticipation of its removal, display_score is now hardcoded to 1.
  210.     Edit your header_display_format if you do not want to see score values.
  211.   * cc_followup can be configured to behave depending on the presence of a
  212.     "Mail-Copies-To" header line. One (which is the new default) means to
  213.     prompt the user in this case.
  214.   * slrn -i file (or -f file) now refers to ./file instead of ~/file.
  215.   * More standard bindings in article mode: "Q" for fast_quit, "[" for
  216.     toggle_verbatim_marks and "ESC LEFT" / "ESC RIGHT" for
  217.     "skip_to_previous_group" / "skip_to_next_group".
  218. 4. Improved documentation:
  219.   * Online help (the one you see when hitting '?') is completely rewritten.
  220.     Most of the work was done by Matthias Friedrich.
  221.   * The manual has a new section about interactive functions (Matthias / me).
  222.   * New files: README and doc/FIRST_STEPS (Felix Schueller).
  223.   * Cleaned up the doc/ directory a bit (suggested by Felix Schueller).
  224.   * Rewrote sample slrn.rc (section on keybindings by Matthias).
  225.   * slrnpull's docs are only installed along with slrnpull itself (Matthias).
  226. 5. Support good netkeeping:
  227.   * If netiquette_warnings is on (default), warn when crossposting without
  228.     "Followup-To:" or to more than 4 groups, when "Followup-To:" points to
  229.     multiple groups or the signature is longer than 4 lines.
  230.   * Chopped Message-Ids are dropped when posting the "References:" line.
  231.   * The default of followup_strip_signature is now 1.
  232. 6. All status lines (group_status_line, header_status_line, art_status_line)
  233.    are now configurable; please refer to the manual for a list of accepted
  234.    format descriptors. Based on a patch by Leopold Toetsch <lt@toetsch.at>.
  235. 7. Group display can be fully customized via "group_display_format". This
  236.    makes "group_dsc_start_column" and "show_descriptions" obsolete.
  237.    toggle_group_display is now called toggle_group_formats.
  238. 8. If "highlight_urls" is non-zero (default), URLs are drawn in the color
  239.    set with "url" and are "clickable" when mouse reporting is on.  slrn
  240.    prompts for changes to the URL unless the middle mouse key is used.
  241. 9. Use "LIST OVERVIEW.FMT" to make sure we score "inexpensively" on all
  242.    information found in the XOVER output.
  243. 10. If available, use "LIST SUBSCRIPTIONS" to decide which groups are
  244.     subscribed by default when creating a new newsrc file.
  245. 11. Use "LIST ACTIVE" instead of XGTITLE (which is not really appropriate for
  246.     our cause and deprecated by RFC 2980). This makes use_xgtitle obsolete.
  247. 12. Always decode base64 / quoted-printable in article bodies. If the
  248.     charset is not supported, 8bit characters are stripped.
  249. 13. Added a new way to highlight unread subjects; it is enabled by setting
  250.     "highlight_unread_subjects" to 2. Please see manual.txt for details.
  251. 14. Don't quote blank lines when smart_quote is set to 2 or 3.
  252. 15. Warn user on startup if his config file contains obsolete commands or
  253.     variables. Matthias Friedrich updated contrib/slrnrc-conv to correct
  254.     those as well. The new command line option "-w" makes slrn wait before
  255.     switching to full screen mode and lets you read the startup messages.
  256. 16. More autoconf updates. Most notably, --with-uudeview is added, the code
  257.     for finding OpenSSL is completely rewritten and --with-slang* takes
  258.     precedence over cached values (with help from Matthias Friedrich). By
  259.     default, documentation now goes to $(prefix)/share/doc/slrn (FHS).
  260. 17. New descriptors in "header_display_format": "%T" draws the thread tree
  261.     only, "%c" is the number of messages in the subthread.  Unlike with "%T"
  262.     and "%t", the field width of "%c" can be changed.
  263. 18. When overview files are present, reconstructing threads in spool mode is
  264.     much faster (based on a patch by Jurriaan W Kalkman <thunder7@xs4all.nl>).
  265. 19. By default, only visible lines are printed. To print a full, unwrapped
  266.     version of the article, use a prefix argument (ESC 1 y).
  267. 20. use_mime is now a bitmapped quantity that allows you to view / save /
  268.     archive / pipe messages (at your option) in encoded or decoded form. The
  269.     new default is 5 (decode in pager; encode when sending and archiving).
  270. 21. Better support for multipart binary postings (Jurriaan Kalkman):
  271.     subject_compare_hook can be used to put similar subjects into the same
  272.     thread (see macros/multipart.sl for an example).
  273.     Additionally, "subject 3" is now sorted before "subject 13".
  274. 22. ESC 2 L shows all unsubscribed groups (does not query server).
  275. 23. Added intrinsic functions hide_current_group, get_group_order and
  276.     set_group_order (requires S-Lang >= 1.4.0) as well as the variables
  277.     _slrn_version and _slrn_version_string.
  278. 24. clientlib.c (only needed on some VMS systems) is now packaged separately
  279.     (because of its slightly more restrictive license).
  280. 25. (Un-)collapsing single threads in large groups works much faster.
  281. 26. evaluate_cmd (Ctrl-X ESC) reads a line and interprets it as S-Lang.
  282.     (I hardcoded this so it's always available for debugging purposes.)
  283. 27. In spool mode, --debug will now log error messages (Jurriaan Kalkman).
  284.  
  285. Changes since 0.9.7.0
  286.  
  287. 0. Bug fixes:
  288.   * slrn does not crash in spool mode.
  289.   * S-Lang versions < 1.4.0 can be used; in this case, the
  290.     set_utf8_conversion_table intrinsic is not available.
  291.  
  292. Changes since 0.9.6.4
  293.  
  294. John E. Davis, author and long-time maintainer of slrn, can no longer devote
  295. enough time to the further development of slrn. Thus, he decided to entrust
  296. me, Thomas Schultz <tststs@gmx.de>, with the task of maintaining the
  297. program. I want to thank him for all the time and effort he invested in slrn
  298. so far and I will try to fulfill the task to the best of my ability.
  299.  
  300. 0. Bug fixes:
  301.   * refresh_groups can now safely be aborted and will check for new groups
  302.     unless check_new_groups is 0.
  303.   * Expensive scoring also works when applying the scorefile in article
  304.     mode, when MIME encoding is involved and when reconstructing threads.
  305.   * Let user mark tagged messages unread
  306.   * Saving tagged messages works correctly
  307.   * Use correct charset when re-editing rejected postings
  308.   * Copy "Followup-To:" header line when superseding (Andreas Riedel)
  309.   * Use LDFLAGS when compiling chkslang (Garry Williams)
  310.   * Fixed crash on some non-unix systems when no editor was defined
  311.   * Fixed typo in ispell.sl
  312.   * Handle code 480 in response to GROUP and NEWGROUPS commands.
  313.   * Fixed group search when the cursor is on the group you are searching for.
  314.   * When an article is not on the server, locate_header_by_msgid no longer
  315.     throws an slang error instead of returning 0.
  316.   * Fixed some VMS issues (with help from Tilman Linneweh)
  317.   * Fixed sorting by date on non-unix systems (with help from Sylvan Butler)
  318.   * uudecoding does not corrupt files that contain legal spaces.
  319.   * uudecoding also works with "\r\n" line endings.
  320.   * Realname is not stripped from "To:" address on replies (Felix Schueller)
  321.   * Avoid race condition when posting to spool.
  322.   * Correct handling of DST when finding new groups from active.times.
  323.   * Fixed dozens of potential buffer overflows all over the sourcecode.
  324.   * Handle formfeed when it is not on a line of its own.
  325.   * Unwrap articles for replies / forwards. Re-wrap afterwards.
  326.   * When user aborts followup / forward / supersede, the associated hook is
  327.     not executed.
  328.   * Restore old article window size when un-zooming.
  329.   * Work around a bug in the XPAT implementation of Typhoon servers.
  330.   * Minor fixes for building on Cygwin (with help from Rudy Taraschi)
  331. 1. In header overview, the color of subjects and scores depends on the score
  332.    of the article. The new color objects "neg_score" and "pos_score" are
  333.    used for scores != 0, the existing color object "high_score" for high
  334.    scoring articles. This can be turned off with "color_by_score".
  335.    (Collaborative patch from Felix Schueller and me.)
  336.    Like most GUI newsreaders, slrn now also highlights subjects of unread
  337.    articles. This can be turned off with "highlight_unread_subjects".
  338. 2. Integrated patch from Felix Schueller <fschueller@netcologne.de> that
  339.    introduces an improved (downward compatible) scorefile syntax that allows
  340.    grouping of scoring rules. The score values 9999 and -9999 do not have a
  341.    special meaning any longer. If desired, you can use the equal sign prefix
  342.    for the same effect. Please refer to score.txt for details. slrn now also
  343.    encloses its scorefile entries with comments marking where exactly they
  344.    begin and end. This is useful for the script cleanscore.
  345. 3. Basic reading support for UTF-8. By default, it is converted to Latin 1,
  346.    but you can change this by using the intrinsic set_utf8_conversion_table
  347.    (see macros/latin2.sl for an example).
  348.    Full UTF-8 support will be added as soon as slang 2.0 is out.
  349. 4. New descriptor "%D" in header_display_format and followup_string which
  350.    prints the date formatted according to the new variables
  351.    overview_date_format, followup_date_format and use_localtime.
  352. 5. New scoring keyword "Age:" to score articles which are younger / older
  353.    than a given number of days.
  354. 6. The top status line is now configurable by setting "top_status_line" to a
  355.    format string in which the following descriptors are recognized:
  356.      %d  current date (in the preferred representation for the current locale)
  357.      %n  name of the current newsgroup
  358.      %s  name of the current server
  359.      %t  current time (in the preferred representation for the current locale)
  360.      %v  version of slrn
  361.    The %g descriptor works exactly like in "header_display_format".
  362. 7. When creating a scorefile entry, you can now also specify the date of
  363.    expiry as N days from now. (Philipp Grau <phgrau@zedat.fu-berlin.de>)
  364. 8. Article bodies in base64 are decoded and displayed in the internal pager
  365.    (patch from Matthias Friedrich).
  366. 9. Long words can now be wrapped at the right border of the screen.
  367.    Configurable with "wrap_method". (Andreas M. Kirchwitz <amk@krell.snafu.de>)
  368. 10. More readable "smart" (aka tin-like) quoting that adds a blank between
  369.     your quote_string and previously unquoted lines. Can be turned off with
  370.     "smart_quote". (Matthias Friedrich <matt@mafr.de>)
  371. 11. When a followup would result in a crossposting, slrn issues a warning
  372.     and offers a choice of possible actions. (Felix Schueller)
  373. 12. Optionally, slrn can warn you when you write a followup and a Followup-To
  374.     header line is present. New variable: warn_followup_to (Felix Schueller)
  375. 13. Current download ratio is displayed when getting or saving an article.
  376.     (patch from QuoteMstr <qtmstr@optonline.net>)
  377. 14. Support for the convention of using "(was:...)" when changing the
  378.     subject: "new (was: old)" and "new" are treated as equivalent when
  379.     sorting. Using "strip_was_regexp", you can also automatically strip old
  380.     subjects on followups and when creating scorefile entries.
  381. 15. "strip_re_regexp" can be used to strip non-standard back-references on
  382.     followups (some broken user agents translate the "Re:").
  383. 16. "strip_sig_regexp" is available to detect broken signature delimiters
  384.     (based on patch by Emmanuele Bassi <emmanuele.bassi@iol.it>).
  385. 17. Header lines can explicitly be hidden by prefixing them with a bang (`!')
  386.     in visible_headers.
  387. 18. If you are used to signing off your messages before the signature, you
  388.     can now use "signoff_string" to do this automatically.
  389. 19. New variable supersedes_custom_headers that works just like the existing
  390.     custom_headers variables and is used when superseding a message.
  391. 20. New intrinsic functions datestring_to_unixtime, get_article_window_size,
  392.     get_header_number, reload_scorefile, setlocale and
  393.     sort_by_sorting_method (see docs for details).
  394. 21. ESC 2 ESC p can be used to reconstruct a thread much faster than with
  395.     ESC 1 ESC p; however, in most cases it does not find all articles.
  396. 22. New option "--kill-log" in both slrn and slrnpull to keep a logfile of
  397.     articles that were killed by the scorefile. New option "--kill-score" in
  398.     slrnpull to change the kill treshold (default: 0).
  399. 23. In header overview, the new color object "from_myself" is used for the
  400.     `From:' header line / realname if it contains your name. (patch from
  401.     Andy Shevchenko <andy@smcl.donetsk.ua>)
  402. 24. When you set "broken_xref" to 1, slrn requests articles by Message-ID
  403.     instead of header number. This provides support for servers with broken
  404.     "Xref:" headers. (reported by Robert Jan)
  405. 25. Print a warning if editor_command could not be executed.
  406. 26. locate_article now accepts Message-IDs without angle brackets.
  407. 27. Write "--debug" output to an unbuffered file.
  408. 28. In article mode, "expunge" ('x') will not remove tagged articles.
  409. 29. Compile-time option SLRN_GEN_FROM_EMAIL_HEADER replaced with slrnrc
  410.     variable "generate_email_from" (default: 1 on IBMPC, 0 everywhere else).
  411. 30. New compile-time feature SLRN_HAS_STRICT_FROM which makes it possible to
  412.     enforce correct "From:" header lines on Unix and VMS. When turned off
  413.     (default), the "From:" line now appears in the editor (includes some
  414.     code by Felix Schueller).
  415. 31. New slrnrc command "posting_host" which can (in some cases) be used to
  416.     allow generation of Message-IDs on systems without an official hostname.
  417. 32. Added charset mapping for codepage 852 (IBM852) <-> latin2 (Arkadiusz
  418.     Mucha <arkmucha@priv2.onet.pl>)
  419. 33. Changed behaviour of "move_group" to meet most people's expectations
  420.     when some groups are hidden. "transpose_groups" is untouched.
  421. 34. Added variable "cc_post_string" that is used when posting
  422.     ("cc_followup_string" only worked correctly on followups). Currently, it
  423.     does not support any % format descriptors.
  424. 35. Expensive scoring should now be faster on servers that support XHDR. If
  425.     you find the opposite to be true for you, set "prefer_head" to 1.
  426. 36. In "followup_string", %R expands to the first part of the realname.
  427. 37. Archived postings and replies look much more like the posted versions.
  428. 38. Improved "--version" output.
  429. 39. New config command "compatible_charsets", which can be set to a comma-
  430.     separated list of MIME charsets your terminal is capable to display.
  431.     (This is a bit of a hack, needed until we have better charset support.)
  432. 40. Some UI cleanups (includes many proposals from Matthias Friedrich):
  433.   * Removed option "cancel" where it did exactly the same as "no".
  434.   * Renamed some functions for better consistency:
  435.     In group mode:
  436.      pageup / pagedown -> page_up / page_down
  437.      up / down -> line_up / line_down
  438.     In article mode:
  439.      art_bob / art_eob -> article_bob / article_eob
  440.      left / right -> article_left / article_right
  441.      art_xpunge -> expunge
  442.      article_*dn / article_*up -> article_*_down / article_*_up
  443.      down / up -> header_line_down / header_line_up
  444.      pagedn / pageup -> header_page_down / header_page_up
  445.      *prev* -> *previous*
  446.      shrink/enlarge_window -> shrink/enlarge_article_window
  447.      print/pipe_article -> print/pipe
  448.     The old names are still working, but will be removed before 1.0
  449.   * Replaced "scorefile" .slrnrc command with a "scorefile" variable
  450.   * article_eob skips to the end of the article, even if it was not yet shown
  451.   * Most functions now affect the currently displayed article (if none is
  452.     shown, the one associated with the current header is fetched):
  453.      Interactive: article_search, cancel, create_score, decode, followup,
  454.           forward, pipe, print, reply, save, supersede
  455.      Intrinsic:   pipe_article, re_search_article, save_current_article,
  456.           search_article
  457.   * ESC 2 RET retrieves old articles (like the docs suggested); ESC 4 RET
  458.     only prompts when reading more than query_read_group_cutoff articles.
  459.   * Removed compile time options SORT_BY_SCORE and TILDE_FEATURE, as they
  460.     can be configured at runtime and don't cause significant overhead.
  461.   * Put compile time options under autoconf control (based on patch by
  462.     Matthias Friedrich); rewrote some autoconf macros; don't compile local
  463.     hostname into the binary by default.
  464. 41. Included a much shorter, but up-to-date man page written by Matthias
  465.     Friedrich. More detailed documentation can be found in the new slrn
  466.     manual, which is now part of the source distribution (doc/manual.txt).
  467.     Format is text/plain, but more formats are available online. I also
  468.     rewrote README.w32 and updated README.macros.
  469. 42. Added contrib/ directory to the source distribution. It currently
  470.     contains two helpful perl scripts: cleanscore (by Felix Schueller) can
  471.     be used to purge expired scorefile entries; slrnrc-conv (by Matthias
  472.     Friedrich) rewrites your slrnrc file to use the new function names.
  473.  
  474. Changes since 0.9.6.3
  475. 1. src/grplens.c: Connection to grouplens server was not always being
  476.    closed. (Chris Siegler <siegler@citilink.com>)
  477. 2. src/misc.c: Add a warning if a FQDN cannot be found.
  478. 3. Support for SSL added--- see doc/README.SSL.
  479.  
  480. Changes since 0.9.6.2
  481. 0. Bug fixes: 
  482.     artmisc.c: If a line is marked as a PGP line, then it cannot also
  483.      be a quote line.
  484.     verbatum-->verbatim
  485.     art.c: Only wrap/unwrap an article when the display requires it.
  486.       This avoids a nasty bug in decoding MIME QP.
  487.     doc/FAQ: 0 and 12 were the same (Hynek Schlawack <hynek.s@web.de>)
  488.     art.c: Allow rot13 to apply to signature.
  489.     misc.c: slrn_case_strcmp rewritten to work around a gcc bug on HPUX.
  490.     uudecode.c: If a line contains a space, then skip it.
  491.     art.c: get_parent_headers: avoid self-referencing articles
  492.     group.c: remove arbitrary group name length limit.
  493.     group.c: code added to support for arbitrarily long newsrc lines.
  494.     art.c: Fix sorting methods 4 and 6. (Thomas Schultz/Felix Schueller)
  495.     art.c: Add From header to forwarded emails. (Thomas Schultz/Felix Schueller)
  496.     art.c: MIME process article after saving it (Thomas Schultz/Felix Schueller)
  497.     art.c: have ESC-p sync line with parent (Thomas Schultz/Felix Schueller)
  498.     art.c: avoid infinite loop on search_article ("");
  499.     post.c: if signature is "", then do not add it.
  500.     mime.c: allow whitepspace to follow `=' continuations (Thomas Schultz/Felix Schueller)
  501.     art.c: update thread scores after art_xpunge (Thomas Schultz)
  502.  
  503. 1. #v+/#v- verbatim marks may be hidden via `hide_verbatim_marks'
  504.    variable.  The article mode function "toggle_verbatim_marks" may be
  505.    used to toggle the state of the marks.
  506. 2. Special characters in URLs are passed to browser in hex format.
  507. 3. BeOS system name added to version.c (Scot Hacker
  508.    <shacker@birdhouse.org>).
  509. 4. line length check skipped in verbatim sections.
  510. 5. doc/README.macros: Mention post_file_hook ("Tomasz 'tsca' Sienicki"
  511.    <tsca@mailserver.dk>).
  512. 6. src/xover.c: algorithm for extracting msg-id from In-Reply-To
  513.    changed.
  514. 7. The thread tree depth maximum size (for the graphic) was increased from
  515.    32 to 256 after reworking how the graphic is stored.
  516. 8. doc/slrn.1,slrn.rc: typos fixed (Bill Nottingham
  517.    <notting@redhat.com>).
  518. 9. src/startup.c: "blue" foreground colors changed to "lightgray" to
  519.    make the object standout on xterm.
  520. 10. The `Date' header may be given a color (Arkadiusz Sochala
  521.     <jojoro@priv2.onet.pl>).
  522. 11. macros/color.sl updated (Arkadiusz Sochala)
  523. 12. New slrnrc variable: 'set check_new_groups 1'.  If 0, then do not
  524.     check for new groups (Ada Lim <adal@cse.unsw.edu.au>).
  525. 13. src/post.c: Allow verbatim sections to exceed 80 character line
  526.     limit with no warning.
  527.  
  528. Changes since 0.9.6.1
  529. 1. NULL ponter dereference fixed.
  530.  
  531. Changes since 0.9.6.0
  532.     Misc bug fixes:
  533.       misc.c: get_host_from_file sizeof(host)-->sizeof(line)
  534.        (Russ Allbery <rra@stanford.edu>)
  535.       art.c: toggle_headers would sometimes force an article to be
  536.        downloaded.
  537.       startup.c: color of "box" changed from b/b to b/w
  538.       art.c: toggle_wrap with a == NULL caused a SEGV.
  539.       slrn.c: Use setlocale (Klaus Alexander Seistrup)
  540.  
  541. 1. Updates to slrn.rc and slrn.1.
  542. 2. DESTDIR added to Makefile.in to facilitate the creation of binary
  543.    distributions (Thomas Schultz <tststs@gmx.de>).
  544. 3. Emphasized text may be scanned in quoted and signature portions of
  545.    a message if `emphasized_text_mask' is set accordingly.
  546. 4. If process_verbatum_marks is non-zero, #v+ and #v- will be used to
  547.    denote lines of verbatum text, e.g.,
  548.      #v+
  549.         % Some code
  550.     define this ()
  551.     {
  552.        do_that ();
  553.     }
  554.      #v-
  555.    "set color verbatum" may be used to color such sections of an
  556.    article.
  557. 5. New hook: article_mode_startup_hook.  Called in article mode after
  558.    headers have been read, scored, and sorted.
  559. 6. /text/ highlighted as using `italicstext' color.
  560.  
  561. Changes since 0.9.5.7
  562. 0.  misc bugs fixed
  563. 1.  If the newsrc file indicates that articles in the range 1-N have
  564.     not been read, but the server indicates that those articles are
  565.     nolonger available, then mark that range as read.
  566. 2.  slrn incorrectly interpreted an empty body as a server error.  I
  567.     think that most servers reject such messages but a few allow them.
  568. 3.  Patches from Sylvan Butler <sylvan@bigfoot.com>: improved tin
  569.     emulation macros; -s added to install to strip slrn; body added
  570.     to slrn_select_prev_group function;
  571. 4.  If slrn fails to initialized the terminal, it will exit
  572.     gracefully.  How did this fall through the cracks??
  573. 5.  If username contains a space, avoid the space when creating the
  574.     message id.
  575. 6.  If `use_flow_control' is non-zero, ^S/^Q processing by the
  576.     terminal driver will be enabled.
  577. 7.  sortdate.sl: small tweak to handle articles from the 1980s and
  578.     earlier.
  579. 8.  `author_display' and `display_author_realname' removed from
  580.     doc/slrn.rc file.
  581. 9.  slrn --version will show all compile-time options.
  582. 10. help.c: Post a postponed article reworded.
  583. 11. A score file may contain an `include' statement to include other
  584.     score files.  See doc/score.txt for details.  (This feature
  585.     suggested by Sylvain Robitaille <syl@alcor.concordia.ca>).
  586. 12. Small 32-vs-64 bit problem fixed where an int was used instead of
  587.     a long in comparing strings.
  588. 13. There is nolonger any need to exit article mode to apply a changed
  589.     score file.
  590. 14. New intrinsic functions (see docs for more info)
  591.  
  592.         get_visible_headers (counterpart of set_visible_headers)
  593.     headers_hidden_mode (indicates whether or not some headers may 
  594.        be hidden)
  595.         _is_article_visible (similar to is_article_visible)
  596.     extract_displayed_article_header (get the header in the
  597.        displayed article)
  598.  
  599. 15. slrn_is_fqdn rejects names that end in a `.'.
  600. 16. `Headers Received' message modified to include group name as
  601.     suggested by W M Brelsford <k2di@bigfoot.com>.
  602. 17. If `read_article_hook' exists, then it will be called after an
  603.     article has been read in (Marcin 'Qrczak' Kowalczyk" <qrczak@knm.org.pl>).
  604. 18. Different quote levels may be assigned different colors, e.g.,
  605.  
  606.         color quotes0 "red" "black"
  607.         color quotes1 "green" "black"
  608.        .
  609.        .
  610.     color quotes7 "yellow" "black"
  611.     
  612.     A maximum of 8 levels (0->7) are permitted.  Make sure that your
  613.     quote regular expressions match as few characters as possible.
  614.     For example, use ">" and not ">*".
  615. 19. Some code in art.c moved to artmisc.c in an effort to clean it up
  616.     for future improvements.
  617. 20. The toggle-quotes function maybe used with a prefix-argument to
  618.     hide the nth level of quotes.
  619. 21. `toggle_signature' function suggested by Tom Friedetzky
  620.     <friedetz@informatik.tu-muenchen.de>.  Default binding is to "\".
  621.     Also, toggle_pgp_signature added with binding "]" and a color:
  622.     pgpsignature.  The `hide_signature' and `hide_pgpsignature'
  623.     variables may also be used.
  624.  
  625. 22. If compiled with SLRN_HAS_EMPHASIZED_TEXT (default), text such as
  626.     *this* and _that_ will get highlighted using "underlinetext" and 
  627.     "boldtext" colors, resp.  This requires the variable
  628.     `emphasized_text_mode' to be set to a non-zero value: if 1, do not
  629.     write `_' or `*' characters; if 2, write them as spaces; if 3;
  630.     write them as they are. (suggested by Dawid Kuroczko
  631.     <qnex@atlantis.ssw.krakow.pl>).
  632. 23. Improved tin emulation macros from Sylvan Butler <sylvan@bigfoot.com>.
  633. 24. Patch from Sami Farin <sfarin@ratol.fi> replace `/' characters
  634.     with `_' in decoded filenames.
  635.  
  636. Changes since 0.9.5.6
  637. 1.  Fixed calculation of article window size in non-zoomed mode.
  638. 2.  Fixed a bug in parsing of realnames that contain no alphabetical
  639.     characters.
  640. 3.  spool.c will check the .minmax file if no articles are present in a 
  641.     spool directory.
  642. 4.  New intrinsic added: replace_article.  This allows a macro to
  643.     replace the contents of an article with a specified string.
  644. 5.  slrnpull `--debug FILENAME' command line option added.
  645. 6.  Some modifications to nntp.c to call the connection-lost-hook as
  646.     early as possible.
  647.  
  648. Changes since 0.9.5.5
  649. 1.  Misc bug-fixes:
  650.     a.   Intrinsic function `locate_header_by_msgid' improperly
  651.          interfaced to the interpreter.
  652.     b.   `make install' was trying to install some old, obsolete, and
  653.          non-existent documentation files.
  654.     c.   Tiny bug fixed in new get_hostname function that manifests itself
  655.          when the name server times-out.
  656. 2. With slrnpull it is now possible to specify an alternate log file
  657.    via the `--logfile FILE' command line option.
  658.  
  659. 3.  Philipp Grau <phgrau@zedat.fu-berlin.de> suggested using ` in the
  660.     ascii thread tree instead of \.
  661.  
  662. 4.  Add patch from Thomas Schultz <tststs@gmx.de> to mime-encode the
  663.     real name when posting.  The original patch was due to Joachim
  664.     Wieland <joe@mcknight.swin.de>.
  665.  
  666. 5.  When replying, slrn adds References headers and also takes into
  667.     account the To and Cc lines.  This enables the newsreader to
  668.     better support mailing lists.
  669.  
  670. 6.  If a thread has some unread headers, then it is marked with a `%'
  671.     instead of a `D'. (Andrzej Radecki <radecki@posejdon.wpk.p.lodz.pl>).
  672.  
  673. 7.  When asking for a password/username, a newline character will be
  674.     written first (Philipp Grau <phgrau@cis.fu-berlin.de>).
  675.  
  676. Changes since 0.9.5.4
  677. 0.  Online documentation for slrn intrinsic functions
  678.     (http://space.mit.edu/%7Edavis/doc/slrn-doc.html).  See also
  679.     slrn/doc/slrnfuns.txt.
  680.  
  681. 1.  koi8 character set from Roman Shaposhnick
  682.     <roman@yellow.pdmi.ras.ru>.
  683. 2.  message_now intrinsic function added.
  684. 3.  If make_from_string_hook exists, it will be called to generate
  685.     `From' header lines, e.g.,
  686.     
  687.           define make_from_string_hook ()
  688.       {
  689.          return "My Name <me@my.machine>"
  690.       }
  691.  
  692. 4.  Small bug in base64 decoding of headers fixed.
  693. 5.  art.c:update_ranges rewritten to avoid marking too many articles
  694.     as read when one recontructs a thread via ESC-p.
  695. 6.  Added patchs from Hubert Figuiere <Hubert.Figuiere@solsoft.fr> to
  696.     handle some improperly mime encoded headers generated by broken
  697.     software (specifically when ' ' is not converted to '_'), and to
  698.     fix a potential problem with XOVER.
  699. 7.  Fixed scrore file problem with groupnames containing `+'.
  700. 8.  Body searching macro added to distribution (slrn/macros/search.sl).
  701. 9.  article mode function locate_header_by_msgid will not uncollapse
  702.     the thread unless the header is hidden in the fold.
  703. 10. New intrinsic function: locate_header_by_msgid.  This takes 2
  704.     arguments: the message-id and a flag that indicates whether or not
  705.     the server should be queried.
  706. 11. Semantics of cc_followup variable modified for GNKSA compliance.
  707. 12. New option: abort_unmodified_edits.  Many users requested this
  708.     feature.
  709. 13. `set hostname' now possible.
  710. 14. Patch from Dinko Korunic <kreator@fly.cc.fer.hr> fixing a NULL
  711.     pointer dereference in the Cc code.
  712. 15. Failed posting are appended to a file specified by the
  713.     failed_posts_file variable.
  714. 16. Patches from Tony Houghton <tonyh@tcp.co.uk>: supersede function
  715.     and an option to strip signatures on followup:
  716.        
  717.        setkey article "supersede" "\e^S"   % ESC Ctrl-S
  718.        set followup_strip_signature 0
  719. 17. slrnpull: more verbose messages via mapping of nntp codes to strings
  720.  
  721. Changes since 0.9.5.3
  722. 0. Misc bug fixes, including:
  723.     * Mapping of / to \\ in Win32 and OS/2 editor variables.
  724.     * slrn now honors port information encoded in hostname when
  725.       refreshing newsgroups. 
  726.  
  727. 1. Tweak to generation of NEWGROUPS server command to make it y2k
  728.    compliant.  (In my opinion, the protocol is weak in this area)
  729. 2. VMS grplens.c support from Martin P.J. Zinser <m.zinser@gsi.de>.
  730. 3. New configuration variable:
  731.      
  732.      set simulate_graphic_chars 0
  733.  
  734.    Setting this to 1 will cause slrn to use simple ascii characters to 
  735.    represent the thread tree.
  736. 4. Patch from Hubert Figuiere <Hubert.Figuiere@solsoft.fr> to handle
  737.    (broken?) knews iso-latin1 mime encoding.
  738. 5. New configuration variable: set auto_mark_article_as_read 1
  739.    If zero, reading an article will not cause it to be marked as read.
  740. 6. It is now possible to specify what headers to show via the .slrnrc
  741.    line:
  742.  
  743.        visible_headers "From:,Subject:,Newsgroups:,Followup-To:,Reply-To:"
  744.  
  745.    or the slang function `set_visible_headers'.  To show no headers,
  746.    use "", to show only X-* headers in addition to From, use "X-,From:".
  747.    (Stephane CHAZELAS <Stephane.CHAZELAS@maisel-gw.enst-bretagne.fr>
  748.    provided code that was used as a basis for this feature).
  749. 7. Tweak to group.c:group_sync_group_with_server courtesy of 
  750.    stesch@parsec.rhein-neckar.de (Stefan Scholl).
  751.  
  752. Changes since 0.9.5.2
  753. 0. Misc bug fixes
  754. 1. \n --> \r\n mapping required for the print code.
  755. 2. install target courtesy of Klaus Franken <kfr@klaus.franken.de>.
  756. 3. Mods to update interp.c to use some slang 1.0 features.
  757. 4. Amiga patches and MIME bug fix from Jörg Strohmayer <j_s@gmx.de>.
  758. 5. Winsock initialization bug-fix from sgibier@mail.dotcom.fr
  759.    (Stephane Gibier).
  760. 6. typo involving signals when quitting article mode corrected.
  761. 7. Bug fix so that article counts are not modified when a group read is
  762.    aborted.
  763. 8. extract_article_header now trims leading whitespace.
  764. 9. New intrinsic for macros:
  765.      is_article_window_zoomed ()
  766.    This may be used to define macros that behave differently depending
  767.    upon the zoom state of the article window.
  768. 10. New printer code added (vtailor@gte.net).
  769. 11. Added slrnpull setgid patch from Sylvain Robitaille
  770.     <syl@alcor.concordia.ca>.  See slrnpull/setgid.txt for more
  771.     information.  By default this is disabled in slrnfeat.h.
  772. 12. User-Agent header added.
  773. 13. New hook: article_mode_quit_hook
  774. 14. Added VMS patches for sltcp.c from Martin P.J. Zinser <m.zinser@gsi.de>.
  775.  
  776. Changes since 0.9.5.1
  777. 1. ibm850 character set made the default on Win32 and OS/2 systems.
  778. 2. New hook: post_file_hook
  779. 3. new header format descriptor: %g.  This may be used to specify the
  780.    column the next write to the screen should take place.
  781.    Specifically, `%Xg' indicates that the cursor should be moved to
  782.    column X (numbered from 0).  If X is negative, the cursor will be
  783.    moved X columns from the right edge of the window.  To
  784.    understand this, compare:
  785.  
  786.        header_display_format 0 "%F%-5S%-5l:%t%35s %f"
  787.    to
  788.        header_display_format 0 "%F%-5S%-5l:%t%35s%-24g%f"
  789.  
  790.    in the presence of an open thread tree.  The latter form indicates
  791.    that the `From' header (%f) should be written out 24 columns from
  792.    the right edge of the window.
  793. 4. Andreas M. Kirchwitz <amk@krell.snafu.de> suggested that scores
  794.    with a value of zero be printed on the header as a blank to keep
  795.    the display less busy.  I took his advice.
  796. 5. doc/w32keys.txt and doc/os2keys.txt merged into one file:
  797.    pc-keys.txt.
  798. 6. SLang_VMessage_Hook was set to slrn_va_message.
  799. 7.  --no-post option added to slrnpull.
  800. 8. New macros files: 
  801.   
  802.       slrn/macros/color.sl
  803.       slrn/macros/posthook.sl
  804.  
  805.    The latter file illustrates how to use the `post_file_hook' to
  806.    manipulate a message before posting it.
  807. 9. Fixed a bug in which the references appeared as blank when
  808.    following up to articles whose message id exceeded the screen with
  809.    and the headers were wrapped.
  810.    
  811. 10. New function: print_article.  This function may be customized via
  812.     the `printer_name' setting.  If `printer_name' is not set, then
  813.     the default printer will be selected.  Otherwise, the meaning of
  814.     this variable will depend upon the OS:
  815.     
  816.         WIN32  :  The name of the print queue.  The default is to use
  817.               the win.ini setting.
  818.     UNIX   :  The name of a process that represents the printer, e.g.,
  819.     
  820.                 set printer_name "my_print_filter | lpr -Pmy_printer"
  821.  
  822.                   The default is to use "lpr -P$PRINTER".
  823.  
  824.         OS/2, VMS: ??? needs implemented
  825.  
  826.     The key binding may be set via, e.g.,
  827.     
  828.         setkey article "print_article"  "y"
  829.  
  830.     (`y' is the default binding)
  831.  
  832.     Note: This function could have been defined via a macro for Unix systems,
  833.     but for e.g., windows 95 this was not possible and required a
  834.     built-in solution.
  835.  
  836. 11. References header truncated to 998 characters to satisfy the GNKSA
  837.     2.x requirement.  The real implication of this is that no header
  838.     should be wrapped, nor should the total length of a header be more
  839.     than 998 characters long since there are broken servers that
  840.     cannot handle long lines nor can handle a wrapped header.  The
  841.     previous version of slrn would wrap the headers according to the
  842.     NNTP protocol standards but the GNKSA forbids that.  Sigh.
  843.  
  844. Changes since 0.9.5.0
  845. 0. Oops.  score.c contained a break statement where it should not have.
  846.  
  847. Changes since 0.9.4.6
  848. 0. Misc bug fixes, e.g., the [~group, group] score bug. A silly
  849.    uudecode bug was also fixed involving multi-part encoded files.
  850. 1. Watcom CC specific typo in src/slrnconf.h corrected (Bill McCarthy
  851.    <WJMc@pobox.com>).
  852. 2. version.o add to Makefile.OS2 (Bjoern Frantzen)
  853. 3. Header display format is now customizable.  Up to 10 header formats
  854.    are available and ESC-a will switch among them.  By default there
  855.    are 4 pre-defined formats:
  856.  
  857.         "%F%-5S%G%-5l:[%12r]%t%s"
  858.     "%F%G%-5l:[%12r]%t%s"
  859.     "%F%-5l:%t%s"
  860.     "%F%-5S%-5l:%t%50s %r"
  861.    
  862.    The generic format specifier begins with the `%' character and must
  863.    be of the form:
  864.  
  865.         %[-][w]x
  866.     
  867.    where the brackets indicate optional items.  Here, w is a width
  868.    specifier consisting of one or more digits.  If the minus sign (-)
  869.    is present, the item will be right justified, otherwise it will be
  870.    left justified.  The item specifier (x) is required and, depending
  871.    on it value, has the following meaning:
  872.    
  873.          s : subject
  874.      S : score
  875.      r : author real name
  876.      f : from header
  877.      G : Group lens score
  878.      l : Number of lines
  879.      n : server number
  880.      d : date
  881.      t : thread tree
  882.      F : flags (read/unread, `*' and `#' tags, header number)
  883.      % : percent character
  884.      
  885.   
  886.    Thus, "%F%-5l:%t%s" indicates that the header window will contain
  887.    the, in order: the flags, the number of lines the article contains
  888.    right justified in a 5 character field, a `:', the tree, and the
  889.    subject.
  890.    
  891.    There are two methods of setting these formats.  The first way is
  892.    via a line in  the .slrnrc file using the header_display_format
  893.    command.  This command takes two arguments: an integer that
  894.    indicates the format to set, and a string that specifies the
  895.    format, e.g, 
  896.  
  897.         header_display_format 0 "%F%-5S%G%-5l:[%12r]%t%s"
  898.   
  899.    sets the 0th format.  There are 10 formats available and the ESC-a
  900.    command will switch among them.
  901.  
  902.    The second method is via the S-Lang macro language, e.g.,
  903.    
  904.        set_header_display_format (0, "%F%-5S%G%-5l:[%12r]%t%s");
  905.        
  906.    Finally, ESC-a may be used with a prefix argument to select a
  907.    particular format, e.g., ESC-0 ESC-a will select the 0th format.
  908.  
  909. 4. Added patches from http://home3.inet.tele.dk/byrial/slrn:
  910.  
  911.      resize patch
  912.      prefix_arg patch ==> two new slrn macro intrinsics:
  913.          get_prefix_arg
  914.      reset_prefix_arg
  915.      msgid patch ==> new slrn.rc option:
  916.         set generate_message_id 1
  917.  
  918. 5.  If you are using slang 1.2.x, then you can change the `cursor'
  919.     from "->" to a bar across the display via:
  920.        
  921.        set display_cursor_bar 1
  922.  
  923. 6.  Now score files can contains slang preprocessing constructs (patch
  924.     from Jan Hlavacek <lahvak@math.ohio-state.edu>).
  925.  
  926. 7.  Header window will now scroll horizontally if the article window
  927.     is not visible.  Otherwise, the article window will be the one
  928.     that horizontally scrolls.
  929.     
  930. 8.  New article mode keybinding:
  931.  
  932.          setkey article "zoom_article_window"  "z"
  933.      
  934.     This will cause the header window to disappear with the article
  935.     window zoomed to full screen (minus the top/bottom lines of the
  936.     display).  If the window is already zoomed, it will `un-zoom'.
  937.  
  938.     
  939. Changes since 0.9.4.5
  940. 1. uudecode bug fixed.
  941. 2. VMS specific NETLIB update of clientlib.c.
  942. 3. Explicitly added the GNU copyright to source code files.
  943. 4. Updated to use slang 1.0.3.  For Win32 users this means you can
  944.    use bright background colors and the mouse.
  945. 5. For CYGWIN32 and MINGW32 compilers, use src/Makefile.g32.  Do NOT
  946.    use the Unix configure script because WIN32 is NOT Unix.  (Note:
  947.    gcc in the CYGWIN32 distribution (b18) kept getting signal 33, so I
  948.    could not compile slrn with it.  However, I had no problems with
  949.    MINGW32.)
  950. 6. Autoconf now checks for socket.h (Marius Groeger <mag@sysgo.de>).
  951.  
  952. Changes since 0.9.4.4
  953. 1. Bug fix related to  `system' when called from a slang macro.
  954.  
  955. Changes since 0.9.4.3
  956. 0. Many, many changes to the slang interpreter.  Version 1.0 of slang is now
  957.    required.  Some changes may affect pre-existing macros.  See
  958.    the slang documentation for more information (in particular, see
  959.    slang/UPGRADE.txt for more information about upgrading your slang
  960.    macros).
  961.    
  962.    There are some new intrinsics to help isolate problems by
  963.    re-routing slang traceback messages to a log file:
  964.    
  965.       open_log_file (FILENAME);
  966.       close_log_file ();
  967.       log_message ("My Message\n");
  968.       
  969.    You also need to set `_traceback = 1;'.
  970.  
  971. 1. Small wrapping changes that permit header lines to be properly
  972.    wrapped.
  973. 2. Integrated WIN32 patches.  Thanks Chin Huang <cthuang@vex.net>!!!
  974. 3. Included reject-long-lines patch from Byrial Jensen
  975.    <byrial@post3.tele.dk>.  Add
  976.    
  977.       set reject_long_lines 2
  978.    
  979.    to be given the opportunity to post an article with long lines.
  980.  
  981. 4. If slrnpull fails, it returns an error code to indicate the failure:
  982.  
  983.        1    Unspecified reason
  984.        2    Bad usage
  985.        3    Failed to connect
  986.        4    Connection Lost
  987.        5    Signaled
  988.        10   Malloc Failure
  989.        20   File I/O
  990.  
  991. 5. Added Andy Harper's do_netlib_read routine for VMS.  Thanks Andy!
  992.  
  993. Changes since 0.9.4.2
  994.  
  995. 0. Bug fixes, tiny documentation corrections.  In particular, one of the
  996.    bug fixes concerns a somewhat nasty bug that, although unnoticed
  997.    until 0.9.4.1, appears to have been around for a while.
  998.  
  999. Changes since 0.9.4.1
  1000. 1. Add charset tables from Mark Nowiasz <buckaroo@blackbox.free.de>.
  1001.    I also changed `slrn --version' to show the supported character sets.
  1002. 2. New customizable color objects:
  1003.  
  1004.       box --- This objects represents the are of the screen when a box
  1005.               pops up.
  1006.       frame - The border of the box
  1007.       selection
  1008.               The currently selected text in the selection box
  1009.  
  1010. 3. New hooks for macro customization
  1011.  
  1012.          reply_hook
  1013.      forward_hook
  1014.      followup_hook   (see macros/xcomment.sl for example)
  1015.      post_hook
  1016.      post_filter_hook
  1017.  
  1018.    The post_filter_hook allows you to run the article to be posted
  1019.    through something such as ispell, a shell script, etc...  The file
  1020.    to be posted is passed as a parameter to this hook.  See
  1021.    macros/ispell.sl for an example.
  1022.  
  1023. 4. New intrinsic macro functions:
  1024.        
  1025.          get_response
  1026.      set_color
  1027.      select_list_box
  1028.      get_grouplens_score
  1029.      set_input_chars
  1030.  
  1031. 5. OS/2 patches from Bjoern Frantzen for OS/2 FAT file systems.
  1032. 6. Support for X-Mail-Copies-To added.
  1033. 7. cc_followup_string now expands %n, etc...
  1034.  
  1035. Changes since 0.9.4.0
  1036. 0. Small (nothing serious) bug fixes
  1037. 1. Typo prevented slrn to compile on Non-POSIX systems corrected.
  1038. 2. slrnpull ported to NeXT (flight@mathi.uni-heidelberg.de)
  1039. 3. Olly's mail-copies-to patch implemented
  1040. 4. A new interface to ``browse-url''.  This is not the clickable
  1041.    interface but it does have the feature that it works on ordinary
  1042.    terminals.
  1043. 5. I added a ``postpone'' interface.  To use this, set the variable
  1044.      
  1045.      set postpone_directory "whatever"
  1046.  
  1047.    to specify where articles are to be saved.  Make sure the directory
  1048.    exists!  To post a postponed article, press `ESC P'.  Use, e.g.,
  1049.  
  1050.      setkey group "post_postponed" "KEY_SEQUENCE"
  1051.      
  1052.    to rebind it.
  1053. 6. I integrated the NeXT character set patch from Daniel G. Kluge 
  1054.    <daniel@hallus.swill.org>.
  1055. 7. New color object: response_char.  This is used to set the color for
  1056.    response characters in prompts such as:
  1057.      
  1058.          Do you really want to quit? Yes, No
  1059.  
  1060.    Here the response characters are `Y' and `N'.
  1061.    
  1062.     
  1063. Changes since 0.9.3.2
  1064. 0. Some bug fixes as well as slrnpull bug fixes.  Also, the libc system
  1065.    function has been replaced.  The fact is that system is broken on
  1066.    Linux.
  1067.  
  1068. 1. Small change to pathname manipulation to avoid problems with \\ and
  1069.    / conflicts on OS/2.
  1070. 2. To additions from Olly Betts <olly@muscat.co.uk> that affect spool
  1071.    users:
  1072.    
  1073.        set spool_check_up_on_nov 1
  1074.        
  1075.    will cause slrn to check to make sure that an article that is
  1076.    referred to by the overview file actually exists.  The default is 0.
  1077.    See the slrnfeat.h variable SLRN_HAS_FAKE_REFS for the other feature.
  1078.  
  1079. 3. New .slrnrc function:
  1080.  
  1081.      include "filename"
  1082.      
  1083.    For example, your .slrnrc file can load other files via:
  1084.    
  1085.      include ".slrn/colors"
  1086.      include ".slrn/keybindings"
  1087.      
  1088. 4. Two new .slrnrc variables:
  1089.  
  1090.      set post_object    "inews"  % or "nntp"
  1091.      set server_object  "spool"  % or "nntp"
  1092.      
  1093.    This means that if you compiled slrn to default to nntp, you
  1094.    nolonger need to run slrn via
  1095.    
  1096.       slrn --spool
  1097.       
  1098.    to read from a news spool.
  1099.    
  1100. 5. macro function extract_article_header will not fetch the article
  1101.    from the server if the requested header is already available.
  1102.  
  1103. 6. Now possible to save replies to a file:
  1104.  
  1105.      set save_replies "News/Replies"
  1106.      
  1107.    and you can specify the string to be used in the reply:
  1108.    
  1109.      set reply_string "In %n, you wrote:"
  1110.  
  1111. 7. Small improvments such as re-wrapping upon window resizing and the
  1112.    message-id is also saved in the save_posts file.
  1113.    
  1114. 8. New intrinsic: get_next_art_pgdn_action.  See README.macros for
  1115.    more information.
  1116.  
  1117. 9. `username whatever' is not obsolete.  Use `set username WHATEVER'
  1118.    instead.  This change allows username to be changed via a macro.
  1119.  
  1120. 10. Grouplens support changed to match current grouplens protocol.
  1121.  
  1122. 11. Wrapping now takes place on word boundaries.
  1123.     frank_thieme@l2.maus.de provided a similar patch.
  1124.     
  1125. 12. VMS patches by Ian.Miller@softel.co.uk.
  1126.  
  1127. Changes since 0.9.3.1
  1128. 0. Bug fix involving non-XOVER headers.  This alone caused me to
  1129.    discontinue 0.9.3.1.
  1130. 1. Misc bug fixes, char set tweaking
  1131. 2. New variable for better compliance with standards:
  1132.    
  1133.       set reject_long_lines 1
  1134.  
  1135.    If non-zero, slrn will reject posting articles with non-quoted
  1136.    lines whose length exceeds 80 characters.
  1137.  
  1138. 3. New editor options:
  1139.      
  1140.       set post_editor_command "my_posting_editor"
  1141.       set mail_editor_command "my_mailing_editor"
  1142.       set score_editor_command "my_score_editor"
  1143.  
  1144.    These may be used to override the more generic `editor_command'.
  1145.    For example, I use:
  1146.    
  1147.        set score_editor_command "jed %s -g %d -f score_arrange_score"
  1148.  
  1149. 4. Patches for display code provided by itz@rahul.net (Ian T Zimmerman).
  1150.    There is a new .slrnrc variable:
  1151.  
  1152.       set display_author_realname 1
  1153.       
  1154.    It controls whether or not the real name should be displayed.
  1155.  
  1156. 5. Spoiler patches from Olly Betts with new slrnrc variable:
  1157.  
  1158.    % set to 0 to keep the display still, and just reveal the spoiler
  1159.    % set to 1 to start a new page when spoiler is revealed
  1160.    % set to 2 to keep the display still, and reveal ALL spoilers
  1161.    % set to 3 to start new page and reveal ALL spoilers
  1162.    set spoiler_display_mode 1
  1163.  
  1164. Changes since 0.9.2.1
  1165. -13. Small patches from Uichi Katsuta <katsuta@lang2.bs1.fc.nec.co.jp>,
  1166.      and uudeview patches from Mark McWhorter <morak@ziplink.net>.
  1167. -12. Re: now added to subject header of reply.
  1168. -11. Fixed a bug that manifested itself when scoring on non-XOver
  1169.      headers.
  1170.  
  1171. -10. If a posted article is cc'd, the message-id used for the article
  1172.      will also be used in the email.
  1173. -9. `slrn --nntp --debug FILE' may be used to write out the dialog
  1174.     between slrn and the nntpserver to FILE.  This is a debugging aid.
  1175.  
  1176. -8. Sort by date added:
  1177.        set sorting_method 8    % most recent first
  1178.        set sorting_method 9    % thread with most recent first
  1179.        set sorting_method 10   % most recent last
  1180.        set sorting_method 11   % thread with most recent last
  1181.  
  1182. -7. If slrn is run in NNTP mode, the preprocessor symbol NNTP will be
  1183.     defined while processing the .slrnrc file.  If it is run in spool
  1184.     mode, SPOOL will be defined.
  1185.  
  1186. -6. Patches from Justus Pendleton <justus@ryoohki.res.cmu.edu> enabling
  1187.     slrn to work with uudeview.
  1188.  
  1189. -5. More OS/2 patches from Bjoern Frantzen enabling slrn to work with
  1190.     other mailers.
  1191.  
  1192. -4. New slrnrc variable: set metamail_command "metamail"
  1193.  
  1194. -3. Workaround for XHDR bug in DNEWS
  1195.  
  1196. -2. slrn/doc/os2keys.txt describes OS/2 key sequences.  They differ
  1197.     from the standard ANSI escape sequences.
  1198.  
  1199. -1.  Distribution reorganized.  Autoconf config files are in autoconf
  1200.     directory and documentation in doc dir.
  1201.     
  1202. 0.  Offline reading possible by using the new `slrnpull' program.  See
  1203.     the slrnpull documentation for details.  `make slrnpull' should be
  1204.     sufficient to compile it.
  1205.  
  1206. 1.  Small CC: problem under OS/2 fixed by Marko Teittinen
  1207.     (marko@tekamah.com). 
  1208.  
  1209. 3.  New slrn.rc variable to control scrolling behavior: 
  1210.  
  1211.        set scroll_by_page 1
  1212.        
  1213.     to have slrn automatically perform a pagedown/up at window 
  1214.     boundaries.  This requires slang 0.99-38 otherwise this does
  1215.     nothing.
  1216.     
  1217. 4.  New .slrnrc options:
  1218.  
  1219.       % Start new thread if subject changes
  1220.       set new_subject_breaks_threads  0
  1221.       
  1222. 5.  New charcter set mapping code.  The idea is to translate incoming
  1223.     and outgoing articles from isolatin to the ``native'' character
  1224.     set.  For example, under OS/2, the native character set is assumed
  1225.     to be "ibm850".  The character set may be specified by the slrnrc
  1226.     line:
  1227.     
  1228.         set charset "ibm850"      % default for OS/2
  1229.         set charset "isolatin"    % default for Unix and VMS
  1230.     
  1231.     Currently only ibm850 and isolatin are supported.  I suspect a
  1232.     future version of slrn will be more precise in the specification
  1233.     of isolatin and support more chatacter sets.  But the current idea
  1234.     is that there is one ``usenet'' character set called ``isolatin''
  1235.     and selecting isolatin as the host character set will essentually
  1236.     turn of the mapping since isolatin --> isolatin is just the
  1237.     identity map.
  1238.     
  1239.     I am grateful to Bjoern Frantzen, bjoff@bgnett.no for the original
  1240.     code as well as other OS/2 fixes.
  1241.  
  1242. 6.  Small tweak to MIME encoding.
  1243.  
  1244. Changes since 0.9.2.0
  1245. 0.  Bug causing slrn to hang on VMS fixed.  The bug was tracked down
  1246.     with the help of Andrew Brennan <brennan@crashprone.allegheny.edu>.
  1247.  
  1248. 1.  man page and slrn.rc updated to reflect the fact that
  1249.     `art_header_bob' and `art_header_eob' functions were renamed to
  1250.     simply `header_bob' and `header_eob', resp.  Also, the functions
  1251.     `goto_beginning' and `goto_end' are being phased out in favor of
  1252.     `art_bob' and `art_eob', resp.
  1253. 2.  Fixed a compilation problem on NeXT.  mching@inow.com
  1254.     submitted OS/2 makefile and config patches for EMX compiler, and
  1255.     cardio@orsola.med.unibo.it (cardio) submitted patches for Ultrix.
  1256.     
  1257. 3.  The default for min_high_score was incorrectly set to 0.  It has
  1258.     been changed to 1.
  1259. 4.  New intrinsics for macros:
  1260.      get_header_score
  1261.      set_header_score
  1262. 5.  New feature: SLRN_HAS_END_OF_THREAD
  1263.     See src/slrnfeat.h for more information.  This feature is enabled
  1264.     by default.  In the current implementation, it is a compile-time
  1265.     option-- there is nothing to disable it at run-time.
  1266.  
  1267. 6.  Some of the documentation updated.
  1268.  
  1269. Changes since 0.9.1.0
  1270. 0.  The macro functions read_mini and read_mini_no_echo now take three
  1271.     arguments.  See README.macros for more information.  This change
  1272.     was necessary because the ``read input from user'' routines are
  1273.     now more flexible and support recall of previously entered text.
  1274.  
  1275. 1.  Renamed `group_mode_hook' to `group_mode_startup_hook'.  Added a new
  1276.     hook `group_mode_hook' that is called every time group mode is
  1277.     re-entered.
  1278. 2.  Oops.  A horrible bug that manifested itself when the quote string
  1279.     was not specified via `set quote_string' has been fixed.
  1280. 3.  `set use_color' added so that `set use_color 0' may be used to
  1281.     turn off color support.
  1282. 4.  The name of a header and its value may be be given a different
  1283.     colors using, e.g.,
  1284.     
  1285.         color headers "green" "white"
  1286.         color header_name "red" "white"
  1287.     
  1288.     This means that the header 'From: davis@space.mit.edu' will appear
  1289.     with 'From:' in red/white and the rest will appear as green/white.
  1290. 5.  It is now possible to customize the keybindings of the command
  1291.     prompt.  The defaults are:
  1292.     
  1293. setkey readline bol         "^A"        % Beginning of line
  1294. setkey readline eol         "^E"        % End of line
  1295. setkey readline right         "\e[C"        % Move right
  1296. setkey readline left         "\e[D"        % Move left
  1297. setkey readline bdel         "^H"        % Delete backward
  1298. setkey readline bdel         "^?"        % Delete Backward
  1299. setkey readline del         "^D"        % Delete Foreword
  1300. setkey readline deleol         "^K"        % Delete to End of line
  1301. setkey readline trim         "\e/"        % Trim whitespace
  1302. setkey readline quoted_insert     "^Q"        % Quoted insert
  1303.  
  1304.     The name of the keymap is `readline'.
  1305.  
  1306. 6.  New intrinsic functions for macros include:
  1307.  
  1308.       thread_size              % Returns number of headers in thread
  1309.       collapse_thread          % Collapse current thread
  1310.       uncollapse_thread        % Uncollapse current thread
  1311.       is_thread_collapsed      % Returns non-zero if current thread is collapsed
  1312.       get_header_tag_number   
  1313.       article_as_string        % Returns whole article as a string
  1314.       tt_send                  % Send argument to terminal
  1315.       header_next_unread       % goto next unread header
  1316.       input_pending            % Wait for input or timeout
  1317.       getkey                   % read keyboard character
  1318.       ungetkey                 % push back keyboard character
  1319.       set_input_string         % provide answer to prompt
  1320.       get_yes_no_cancel        % get response from user
  1321.       
  1322.     See README.macros for more information.
  1323.  
  1324. 7.  New .slrnrc variable macro_directory controls where macro file are
  1325.     loaded from.  For example, 
  1326.     
  1327.         set macro_directory "News/macros,/usr/local/lib/slrn/macros"
  1328.     interpret "util.sl"
  1329.     interpret "tin.sl"
  1330.     
  1331.     will search for the macro files in $HOME/News/macros,
  1332.     /usr/local/lib/slrn/macros, and, as a last resort, in the home
  1333.     directory ($HOME).
  1334.  
  1335. 8.  Now possible to add custom headers to followups and replies.  The
  1336.     actual headers are controlled by new slrn.rc variables:
  1337.     
  1338.          set reply_custom_headers "X-Bla: Bla bla"
  1339.          set followup_custom_headers "X-Bla: Bla bla"
  1340.      
  1341.     The string assigned to these variables may contain the format
  1342.     specifiers of the 'followup' variable.  This idea was presented to
  1343.     me by John Goerzen <jgoerzen@complete.org>.
  1344.     
  1345. 9.  Several people have sent me patches for customization of high/low
  1346.     score thresholds.  The following .slrnrc variables are now available:
  1347.     
  1348.           set min_high_score 1
  1349.       set max_low_score 0
  1350.       set kill_score -9999
  1351.  
  1352.     One might want to set these on a group by group basis.  This is
  1353.     possible via a macro.  The best way to do this is to put the
  1354.     appropriate statements in a 'pre_article_mode_hook' described below.
  1355.     
  1356. 10. New hooks for macros:
  1357.  
  1358.         resize_screen_hook : called when screen size changes
  1359.     pre_article_mode_hook: called before grabbing headers from server
  1360.       in article mode.
  1361.  
  1362.  
  1363.     
  1364. Changes since 0.9.0.0
  1365. -1. features.h changed to slrnfeat.h to avoid GNU C problems.
  1366.  
  1367. 0.  Misc bug-fixes, e.g., xgtitle operational again.  In addition, I
  1368.     rewrote the lowlevel tcp/ip code so that slrn should now be more
  1369.     responsive to Ctrl-G abortion and suspension.
  1370.  
  1371. 1.  The following .slrnrc commands are obsolete and will not be
  1372.     supported for too much longer:
  1373.  
  1374.      "quote_string"
  1375.      "realname"
  1376.      "replyto"
  1377.      "organization"
  1378.      "followup"
  1379.      "cc_followup_string"
  1380.      "decode_directory"
  1381.      "editor_command"
  1382.  
  1383.     These are now `set' type variables.  That is, the new usage is:
  1384.     
  1385.       set quote_string ">"
  1386.       
  1387.     etc...
  1388.  
  1389. 2.  If a piece of authentication information is supplied as an empty
  1390.     string as in
  1391.     
  1392.          nnrpaccess "news.mit.edu"  "davis"  ""
  1393.      
  1394.     slrn will prompt for the information.  
  1395.  
  1396. 3.  It is now possible to specify the ``help'' string that is
  1397.     displayed at the bottom of the display via the variables:
  1398.  
  1399.        set art_help_line "bla bla"
  1400.        set header_help_line "more bla bla"
  1401.        set group_help_line "and even more"
  1402.        
  1403. 4.  Scrolling improvements.
  1404. 5.  It is now possible to use, e.g., 
  1405.  
  1406.         setkey article "digit_arg"  "\eOP1"
  1407.         setkey group   "digit_arg"  "\eOP1"
  1408.        
  1409.     to bind a key to the prefix argument function.
  1410. 6.  Group search also search group description
  1411. 7.  `set use_tilde 0' may be used to turn off tilde feature.
  1412. 8.  New interpreter intrinsics:
  1413.  
  1414.       get_group_flags
  1415.       set_group_flags
  1416.       is_article_visible
  1417.       is_group_mode
  1418.       extract_article_header
  1419.       set_article_window_size
  1420.       read_mini_no_echo
  1421.       save_current_article
  1422.       select_group
  1423.       group_search
  1424.       group_down_n
  1425.       group_up_n
  1426.       group_unread
  1427.  
  1428.  
  1429. Changes since 0.8.8.4
  1430. 0.  Tiny problem with server timeout fixed.
  1431. 1.  GroupLens support added.  See README.GroupLens
  1432.  
  1433. 2.  Sort by score implemented.  See src/features.h to disable it.  To
  1434.     sort by score, add:
  1435.     
  1436.         set sorting_method 5
  1437.     set display_score 1
  1438.     
  1439.     to your .slrnrc file.  Set display_score to 0 to disable
  1440.     displaying the score value.  If the score value is displayed, the
  1441.     number of lines in the article will not be displayed.
  1442.     Thanks go to Olly Betts <olly@mantis.co.uk> for this feature.
  1443.  
  1444. 3.  Score file lines such as:
  1445.  
  1446.        [~rec.crafts.*, rec.hobbies.*]
  1447.        
  1448.     are now supported.  The `~' character means that the set of scores
  1449.     implied by this line applies to any group EXCEPT rec.crafts.* and
  1450.     rec.hobbies.*.  That is, the `~' character may be used as a NOT
  1451.     operator in this context.
  1452.     
  1453. 4.  New slrnrc configuration option:
  1454.  
  1455.       set custom_headers "X-Whatever: bla\nX-Misc: bla bla"
  1456.  
  1457. 5.  New group mode function: move_group.  This will allow you to use the
  1458.     up/down arrow keys to move a group to a different location.  It
  1459.     has a default binding of `m'.
  1460.  
  1461. 6.  Added Felix von Leitner's cross posting and tilde patches.  The
  1462.     cross posting patch is enabled via the SLRN_HAS_MSGID_CACHE feature.
  1463.     Similarly, the tilde patch is available via SLRN_HAS_TILDE_FEATURE.
  1464.     Thanks Felix.
  1465.  
  1466. 7.  S-Lang interpreter available.  Set SLRN_HAS_SLANG in features.h to
  1467.     enable it.  See also README.slang and slrn.sl for more
  1468.     information.  The 0.9 series of slrn releases will feature more
  1469.     and more interpreter capabilities.
  1470.  
  1471. Changes since 0.8.8.3
  1472. 0.  Bug fix release and patches to get it to compile under VMS again.
  1473.  
  1474. Changes since 0.8.8.2
  1475. 0.  Misc bug fixes
  1476. 1.  Support for INEWS and LOCAL NEWS SPOOL.  The INEWS patches were
  1477.     originally provided by Erik Manders <erik@il.ft.hse.nl>.
  1478.     Olly Betts <olly@mantis.co.uk> is responsible for the local spool support.
  1479.     Edit src/features.h to enable these options.
  1480.     
  1481.     The following slrn.rc variables are are related to the spool support:
  1482.     
  1483.      set spool_inn_root "/export/opt/inn"
  1484.      set spool_root "/export/news"
  1485.      set spool_nov_root "/export/news"
  1486.      % -- The following filenames are relative to spool_root
  1487.      set spool_nov_file ".overview"
  1488.      set spool_active_file "data/active"
  1489.      set spool_activetimes_file "data/active.times"
  1490.      set spool_newsgroups_file "data/newsgroups"
  1491.  
  1492.     Of course default values for these files may be hard-coded.  See
  1493.     src/features.h.
  1494.     
  1495.     In addition, new command line arguments have been added:
  1496.     
  1497.           --inews ==> use inews for posting
  1498.       --nntp  ==> use nntp
  1499.       --spool ==> use local news spool
  1500.       --version
  1501.       
  1502. 2.  Score files now allow more than one newsgroup pattern to be specified,
  1503.     e.g., 
  1504.     
  1505.         [sci.*, comp.*]
  1506.        .
  1507.        .
  1508.  
  1509. Changes since 0.8.8.1
  1510. 1.  base 64 decoding support
  1511. 2.  On VMS, the personal slrn configuration file has been renamed to slrn.rc.
  1512.     See features.h for changing this.  Also, many thanks to Andy Harper
  1513.     (A.HARPER@kcl.ac.uk) for work on DCL make files.
  1514. 3.  Small bug fixes
  1515.  
  1516. Changes since 0.8.8.0
  1517.  
  1518. 0.  Bug fixes (hangup, connection aborts, article/header percentage counts,
  1519.     etc..)
  1520.  
  1521. 1.  Oops.  Forgot to provide a way to turn off video attributes.  Now you can
  1522.     use `none', e.g.,
  1523.     
  1524.         mono headers none
  1525.     
  1526. 2.  New variable for group descriptions: group_dsc_start_column
  1527.  
  1528.         set group_dsc_start_column 40
  1529.     
  1530.     causes descriptions to start in column 40.
  1531. 3.  Now possible to color descriptions via:
  1532.  
  1533.         color description blue white
  1534.     mono description bold 
  1535.  
  1536. 4.  ^G abort of header retrieval.
  1537. 5.  New variable:
  1538.  
  1539.         set lines_per_update 50
  1540.     
  1541.     sets the granularity of slrn's percentage meters.
  1542.  
  1543. 6.  Spoiler support provided by Olly Betts (olly@mantis.co.uk).  The .slrnrc
  1544.     variable `spoiler_char' may be used to specify the character used to
  1545.     hide the text.  The default is '*':
  1546.     
  1547.         set spoiler_char '*'
  1548.  
  1549. 7.  .slrnrc `ignore_quotes' specifier can take up to 5 regular expression
  1550.     patterns, e.g.,
  1551.     
  1552.         ignore_quotes  "^ *[:=|+>]"    "^ *[A-Za-z]>"
  1553.     
  1554.     specifies two patterns.
  1555.  
  1556. 8.  Certain compiler symbols such as NO_DECODE have been renamed and moved to
  1557.     the new file: features.h
  1558. Changes since 0.8.7
  1559. 0.  Misc bug fixes
  1560.  
  1561. 1.  Use of the XGTITLE command is turned off by default.  Use the variable
  1562.     `use_xgtitle' to turn it on.
  1563.  
  1564. 2.  New configuration settings for your .slrnrc file
  1565.  
  1566.        set Xbrowser "netscape %s &"
  1567.        set non_Xbrowser "lynx %s"
  1568.  
  1569.     Press the `U' key (browse_url) for slrn to search for a URL and call the
  1570.     appropriate browser.  Thanks go to Justus Pendleton
  1571.     <justus@ryoohki.res.cmu.edu> for the patches.
  1572.     
  1573. 3.  When creating a score from within article mode, you will be prompted for
  1574.     whether or not the score is local or global.  This patch was the idea of 
  1575.     Colin Perkins <csp@ohm.york.ac.uk>.
  1576.  
  1577. 4.  Use `set query_reconnect 0' in your .slrnrc file to turn off
  1578.     reconnection confirmation.
  1579.  
  1580. 5.  `ESC 1 *' now removes all `*' marks.
  1581. 6.  If `cc_followup' is -1, slrn will prompt whether or not to cc the
  1582.     followup message.
  1583. 7.  If linked against slang version 0.99-30 or later, it is possible to
  1584.     customize the video attributes on mono-chrome terminals, e.g.,
  1585.     
  1586.          mono cursor reverse blink
  1587.      mono headers bold
  1588.      mono author bold blink
  1589.        .
  1590.        .
  1591.  
  1592.     The above lines will cause the author part of the header to blink in
  1593.     bold, the cursor will blink in reverse video, etc...
  1594.  
  1595. 8.  New variable to set: write_newsrc_flags
  1596.     
  1597.          % If 0, save all groups when writing newsrc file
  1598.      % if 1, do not save any unsubscribed groups
  1599.      % if 2, do not save any unread-unsubscribed groups
  1600.      set write_newsrc_flags 0
  1601.  
  1602. 9.  Better checking of articles before posting.  Now, a new screen will
  1603.     appear with error messages if the article appears badly formatted.
  1604.  
  1605. 10. Modified scrolling behavior when the article window is open.  Now the
  1606.     next and previous headers are always visible.
  1607.  
  1608. Changes since 0.8.6
  1609. 0.  Under Unix there is a new `configure' script for building slrn.
  1610. 1.  ``Header Numbers'' add for more efficient article selection.  This is
  1611.     enabled by default and may be disabled by adding
  1612.     
  1613.         set use_header_numbers 0
  1614.     
  1615.     in your .slrnrc file.  In addition, the color of these numbers may be
  1616.     controlled via something like
  1617.     
  1618.         color header_number "green" "white"
  1619.     
  1620.     The numbers appear at the left margin of the header window.  To goto a
  1621.     particular numbered header, e.g., 12, simply press `1' then `2' followed
  1622.     by RETURN, SPACE, etc...
  1623. 2.  The function ``xpunge'' has been added for article mode.  The default
  1624.     binding of this function is to the `x' key.  It removes already read
  1625.     articles from the list.
  1626. 3.  If slrn does not read the active file, then it will now attempt to use
  1627.     the `xgtitle' command to query the server for newsgroups matching a
  1628.     pattern.  (This affects the `L' key in group-mode).
  1629. Changes since 0.8.5
  1630. -1. New distribution structure
  1631. 0.  Thanks to Jay Maynard (jmaynard@nwpros.com), slrn now runs under OS/2.  
  1632.     Since this is the first OS/2 version, it should be regarded as ALPHA.
  1633. 1.  New .slrnrc configuration variable: prompt_next_group.  If 0, slrn will
  1634.     not provide the opportunity to use up/down arrow keys to select the next
  1635.     group.  Instead, pressing a key that performs a goto next group action,
  1636.     e.g., the Next-Group mouse button, will simply put you in the headers of
  1637.     the next group in the group list.
  1638. 2.  When the mouse is clicked on a button at the top of the display, the
  1639.     button will ``flash''.  The color that is used to simulate the flash may
  1640.     be specified by using, e.g., 
  1641.     
  1642.          set color menu_press blue yellow
  1643.      
  1644.     in your .slrnrc file.
  1645. 3.  New groups are displayed with an `N' in the flags column.
  1646. 4.  `ESC 1 L' will hide unsubscribed groups  (`L' with a prefix argument).
  1647. 5.  The `?' key may be used in help mode to re-start help.
  1648. 6.  OS/2 port thanks to Jay Maynard <jmaynard@admin5.hsc.uth.tmc.edu>.
  1649.     Note: this port is still considered to be in its alpha stage.
  1650. 7.  slrn will nolonger run unless the user has a username and a FQDN.
  1651. 8.  New article mode functions (Thanks to Alain.Knaff@imag.fr (Alain Knaff)):
  1652.       fast_quit                       % quit news reader from article mode
  1653.       skip_to_prev_group              %
  1654.     None of these function have default bindings.
  1655. 9.  When replying, slrn will warn the user if the email address appears
  1656.     invalid.
  1657. 10. New configuration variable:
  1658.  
  1659.        set use_metamail 0
  1660.        
  1661.     If non-zero, metamail will be called to process MIME articles that 
  1662.     slrn does not support.
  1663.  
  1664. Changes since 0.8.4
  1665. 1.  Small bug fixes (nothing major).
  1666. 2.  Cosmetic change where one can more easily see the progress of the
  1667.     download of tagged articles.  In addition the server name is printed on
  1668.     the top status line.
  1669. 3.  The `*' (toggle_header_tag) function has been changed.  If used on a
  1670.     collapsed thread, it will tag the entire thread.  In addition, after
  1671.     pressing `*', the pointer moves down one header.
  1672. 4.  -m command line option forces XTerm mouse reporting to be turned on.
  1673. 5.  When the mouse is enabled, ``buttons'' also appear on the top status
  1674.     line.  Simply click on them with the mouse.  Perhaps in the future,
  1675.     these buttons will become menus.
  1676.  
  1677. Changes since 0.8.3
  1678. 0.  The slrn makefile has changed.  Now it asks for a location to put slrn
  1679.     object files and it asks for the location of the slang library file.
  1680.     The nice thing about this is that it is easy to compile slrn under
  1681.     multiple architectures.  The down side is that some makes will not work
  1682.     with the Makefile.  If your make fails, use Makefile.old.  Since I do
  1683.     not plan to continue support for Makefile.old, please look into
  1684.     installing GNUmake.
  1685. 1.  .newsrc file is now created in mode where only user has read permission
  1686.     to it.
  1687. 2.  If a prefix argument is given to the subscribe/unsubscribe commands, the
  1688.     user will be prompted for a group pattern which will be used, e.g., 
  1689.     pressing `ESC 1 s' and entering `*linux*' at the prompt will result in
  1690.     a subscription to all newsgroups of form `*linux*'.
  1691. 3.  If a prefix argument is given to the `K' (create_score) function, the
  1692.     editor will be called to edit the score file-- no questions asked.
  1693. 4.  New .slrnrc variable: query_read_group_cutoff
  1694.     Whenever slrn enters a group with `query_read_group_cutoff' or more
  1695.     unread articles in it, it will prompt for how many to read.  The default
  1696.     is 100.  If set to 0 or less than 0, slrn will not prompt at all, i.e.,
  1697.     
  1698.         set query_read_group_cutoff 0
  1699.  
  1700. 5.  It is now possible to have articles automatically wrapped by adding 4 to
  1701.     the wrap flags value.  See the slrn.rc file.
  1702. 6.  VMS changes: some patches added, ``makefiles'' fixed
  1703.  
  1704. Changes since 0.8.2
  1705. 1.  If slrn cannot find a fully qualified domain name, it will not run.
  1706.     This name can be specified in the .slrnrc file so there is no excuse for
  1707.     not having one.  There are too many articles already floating around
  1708.     usenet with bad hostnames and I do not want slrn to contribute to this.
  1709. 2.  Bug in authorization fixed
  1710. 3.  Oops.  If one were editing a file from within slrn and the window was
  1711.     resized, slrn would re-draw the window!  That is fixed.
  1712. 4.  article wrapping added-- press `w' in article mode to wrap/unwrap.  The
  1713.     variable `wrap_flags' may be used to control whether or not headers or
  1714.     quoted material is wrapped, e.g.,
  1715.     
  1716.         set wrap_flags 1    % Wrap headers
  1717.     set wrap_flags 2    % Wrap quoted material
  1718.     set wrap_flags 3    % Wrap headers and quoted material
  1719.     
  1720.     The default is to wrap everything (3).
  1721.  
  1722. 5.  slrn may be started as in `slrn -h server.name:XXX' where XXX in an
  1723.     integer that represents a port number. 
  1724.  
  1725. 6.  `set sendmail_command' may be used in the .slrnrc file to specify an
  1726.     alternative mail program.  The default is: 
  1727.     
  1728.           "/usr/lib/sendmail -oi -t -oem -odb"
  1729.       
  1730.     See config.h for selecting a different default.
  1731.        
  1732. 7.  ESC u in group mode may be used to Un-Catchup on a group.
  1733.  
  1734. Changes since 0.8.1
  1735. 1.  Misc bug fixes:
  1736.       MIME re-worked
  1737.       some VMS problems ironed out
  1738.       VMS: callable mail support
  1739.  
  1740. Changes since 0.8.0
  1741. 1.  The `toggle_sort' function bound to `ESC s' in article mode has been
  1742.     modifed.  Now, it prompts for the sorting method.
  1743. 2.  New variables for the .slrnrc file:
  1744.  
  1745.       % If 0, do not sort.  If 1, perform threading.  If 2, sort by subject
  1746.       % If 3, thread then sort result by subject
  1747.       set sorting_method 3
  1748.  
  1749.       % If non-zero, threads will be uncollapsed when a group is entered
  1750.       set uncollapse_threads 0
  1751.       
  1752.     Note: methods 2 and 3 were not available in previous versions of slrn.
  1753.     This is why the `toggle_sort' function needed to be modified.
  1754. 3.  It is now possible to have all posted articles saved in a file.  The
  1755.     file is specified in the .slrnrc with a line like:
  1756.  
  1757.         set save_posts "News/My_Posts"
  1758.  
  1759. 4.  slrn now generates its own message id provided that it can find the
  1760.     machines fully qualified domain name (FQDN).  The reason for this is
  1761.     that one can easily more efficiently score follow-ups to the user's
  1762.     posted articles.  For example, if the FQDN is `machine.my.domain' and
  1763.     the user's name is `user' then simply put:
  1764.     
  1765.        [*]
  1766.        Score: 100      (or whatever)
  1767.        References: user@machine.my.domain>
  1768.        
  1769.     in the score file.  (The first part of the generated message-id is
  1770.     composed of a base 32 representation of the current time and process-id).
  1771. 5.  Default values available at all yes/no prompts.
  1772.  
  1773. 6.  Saving an article is slightly different but simpler.  The new bindings
  1774.     are: 
  1775.     
  1776.     `:'  uudecode file
  1777.         `o'  save a file-- no decoding
  1778.     
  1779.     Use "decode" and "save_article" to re-bind these.
  1780.     See the FAQ for more detailed help on uudecoding articles.
  1781.     
  1782. 7.  New variable: 'save_directory' may be used to specify where files are
  1783.     saved.  The default is 'News'.  Use something in your .slrnrc file:
  1784.     
  1785.         set save_directory "News"
  1786.     
  1787. 8.  There is now an option for slrn to read the active file upon startup.
  1788.     Using this option may result in faster startup times.  Using the active
  1789.     file also has the advantage that the `L' key will list all groups
  1790.     available at the server.  
  1791.     
  1792.     There are two ways of enabling this option:
  1793.     
  1794.         a.  Startup slrn with the -a switch:  slrn -a
  1795.     b.  Add the line:
  1796.       
  1797.              set read_active 1
  1798.        
  1799.         to your .slrnrc file.
  1800.  
  1801. 9.  The `Expires' date may be given in one of the following formats:
  1802.  
  1803.        MM/DD/YYYY
  1804.        DD-MM-YYYY
  1805.        
  1806.     Previous versions only allowed the first format.
  1807.  
  1808. 10.  MIME support add by Michael Elkins <elkins@aero.org>.
  1809.     To enable MIME support, add:
  1810.     
  1811.         set use_mime 1
  1812.     
  1813.     to your .slrnrc file.  In addition, you may select a character set by
  1814.     adding something like:
  1815.     
  1816.         set mime_charset "iso-8859-1"
  1817.  
  1818.     to your .slrnrc file.
  1819.     
  1820.     The MIME code is still in the testing phase but it appears to be ok.
  1821.     
  1822. Changes since 0.7.9.0
  1823. 1.  If Cc: header appears in a followup, the message will also be email to 
  1824.     the addresses listed on the line.  The address `poster' will be
  1825.     considered as an alias for the original poster.  This header will
  1826.     automatically be generated if the line:
  1827.     
  1828.          set cc_followup 1
  1829.        
  1830.     appears in the .slrnrc file.
  1831.     By default, the body of an email message generated this way will be
  1832.     prefixed by the string:
  1833.     
  1834.       [This message has also been posted.]
  1835.       
  1836.     To change it, use a line of the form:
  1837.       
  1838.       cc_followup_string "[Note: Even though I posted this, here is a copy.]"
  1839.       
  1840.     in your .slrnrc file.
  1841.     
  1842. 2.  Broken threads are now collaped together.
  1843. 3.  In replies, the In-Reply-To header is generated with the message-id of
  1844.     the original post.
  1845. 4.  New variable for .slrnrc: `set confirm_actions 1'.  If set to 1 (default
  1846.     is 0), confirmation on quitting, followup, reply, etc... is not performed.
  1847.     
  1848. 5.  Arbitrary header keywords are now allowed for Score files.  Keep in mind
  1849.     that a score that is based on such keywords take ALOT longer to process.
  1850.     The command line option -k0 will suppress expensive scores.  
  1851.  
  1852.     In addition, the K key (bound to `toggle_scoring') may be used at the
  1853.     group level to set the scoring mode.
  1854.  
  1855. 6.  Enhanced score file syntax:
  1856.  
  1857.        a.  If Score::  (TWO colons) is used to denote a score, all
  1858.            expressions that it covers will be considered as OR type
  1859.        expressions.  That is,
  1860.       
  1861.            Score:: 20
  1862.             Subject: larry
  1863.             Subject: curly
  1864.        
  1865.           is (almost) equivalent to
  1866.       
  1867.            Score: 20
  1868.             Subject: larry
  1869.            Score: 20
  1870.             Subject: curly
  1871.           
  1872.       Homework: What do I mean by ``almost''?
  1873.       Note: Scores with only one colon are AND scores.
  1874.       
  1875.       b.  If a score value is prefixed with the `=' sign, e.g., Score: =30
  1876.           Then scoring on the article is regarded as finished and a value of
  1877.       30 will be assigned to the article.
  1878.  
  1879.     See score.txt and KILL_FAQ for more information.
  1880.     
  1881. 7.  Article mode keybindings of `<' and `>' have been changed to goto the
  1882.     beginning and end of the article, resp.
  1883.     
  1884. 8.  The `#' key may be used to NUMERICALLY tag articles.  The save operation
  1885.     now saves tagged articles in their numerically tagged order.  The key
  1886.     sequence `ESC #' will remove all numerical tags.
  1887. 9.  The save function is now more sophisticated.  It can now save tagged
  1888.     articles, the current thread, or a single article.  After it saves, it
  1889.     prompts for decoding.  The present version of slrn can only decode
  1890.     uuencoded files or share archives.  If decoding is selected, slrn will
  1891.     prompt for whether or not he save file should be deleted.
  1892.     
  1893.     The variable `decode_directory' may be used to control where decoded
  1894.     files are placed.
  1895.     
  1896. 10. If a line of the form:
  1897.  
  1898.        set use_tmpdir 1
  1899.       
  1900.     appears in the .slrnrc file, a tmp directory will be used for posting
  1901.     and replying.  The directory /tmp will be used unless the environment
  1902.     variable TMPDIR exists.
  1903.     
  1904. 11. It is now possible to set the editor command in the .slrnrc file, e.g.,
  1905.  
  1906.         editor_command "jed %s -g %d -tmp"
  1907.     
  1908.       
  1909.  
  1910. Changes since 0.7.8.2
  1911. 1.  Score files added-- See score.txt for score file syntax.  To use score
  1912.     files you must add a line such as:
  1913.     
  1914.          scorefile "News/Score"
  1915.  
  1916.     to you .slrnrc file.  slrn assumes no default value for this file.  With
  1917.     this defined, you may either edit the file by hand or press the `K' key
  1918.     in article mode to automatically add ``scores'' to this file.  If you
  1919.     edit it by hand and you use the jed editor, see `score.sl' for a syntax
  1920.     highlighting and indentation mode for score files.
  1921.     
  1922.     A new commad line option `-k' may be used to turn OFF score file
  1923.     processing.
  1924.  
  1925. 2.  In article mode, `=' key will now follow articles of a specified
  1926.     subject.  In addition, the `!' key will go to articles with high scores.
  1927.  
  1928. Changes since 0.7.8.1
  1929. 1.  Threads are now collapsed.  An individual thread may be un-collapsed by
  1930.     pressing `ESC t'.  Pressing `ESC t' will re-collapse it.  In addition,
  1931.     simply reading the first article in a thread will un-collapse it.
  1932.     Deleting a collapsed thread will delete all articles in th thread.
  1933.     Hopefully, this interface will seem intuitive.
  1934.     
  1935.     Note: `ESC 1 ESC t' will toggle collapsing of ALL threads.  
  1936.     
  1937.     To bind this to a different key, use the function 
  1938.     `toggle_collapse_threads'.
  1939.     
  1940.     Of course the thread number has to have a color.  The default is:
  1941.     `color thread_number "blue" "white"'
  1942.     
  1943. 2. New configuration variables for your .slrnrc file (defaults shown)
  1944.  
  1945.       set query_next_article 1
  1946.       set query_next_group 1
  1947.      
  1948.    For example, setting query_next_article to 0 will result in the next
  1949.    article being read when the end of the current one is reached.
  1950.  
  1951. 3. Parse error messages while parsing .slrnrc file are now more meaningful.
  1952.  
  1953. Changes since 0.7.8.0
  1954. 1.  Additional support for XTerm mouse (Thanks Mark).  These include:
  1955.  
  1956.     Article mode:
  1957.  
  1958.         Left Button: Help bar:        return help
  1959.                      Header status:   header page down
  1960.              Article status:  Next unread
  1961.              Article window:  Article page down
  1962.       Middle Button: Help bar:        toggle show author
  1963.                      Header status:   hide article
  1964.              Article status:  toggle quotes
  1965.              Article window:  nothing
  1966.       Right Button:  Help bar:        help
  1967.                      Header status:   header page up
  1968.              Article status:  Prev unread
  1969.              Article window:  Article page up
  1970.                      
  1971.     Similar functionality for group mode.
  1972.     
  1973. 2.  VMS makefile fixed
  1974. 3.  New group mode function: transpose_groups.  The default binding is ^X^T.
  1975.     This will transpose the position of two groups.  This may be used to
  1976.     rearrange groups.
  1977. 4.  man page updated
  1978. 5.  `set color signature' now supported.  (Thanks to
  1979.     combee@ptsg-austin.sps.mot.com (Ben Combee))
  1980. 6.  Misc bug fixes.
  1981. 7.  `hide article' will now toggle.
  1982.  
  1983. Changes since 0.7.7
  1984. 0.  Misc bug fixes
  1985. 1.  slrn calling syntax changed: The -D parameter has changed to lowercase -d.
  1986.     Now, a new -Ddefine-something is available.
  1987. 2.  If using slang0.99-20 or newer, it is possible to use slang preprocessing
  1988.     in your .slrnrc file.  Use the -D flag to define a token.
  1989. 3.  Oops!  Previous version broke art_lineup, art_linedn functions.
  1990. 4.  Problem with "unknown" as username fixed.
  1991. 5.  Suspension now allowed during lengthy transfers.  This requires slang
  1992.     version 0.99-20 or greater.
  1993. 6.  New article mode function: "toggle_header_tag".  A header that is
  1994.     ``tagged'' is marked with a `*' in the left column.  The default binding
  1995.     is to the `*' key (Shift-8).  A tagged article will not change its read
  1996.     status by the `catchup' series of functions.  There may be more uses
  1997.     later.
  1998. 7.  If a `prefix' argument is given to the `get_parent_header' function, the
  1999.     entire tree will be reconstructed.  This means that the whole tree can
  2000.     be reconstructed by pressing: ESC 1 ESC p
  2001. 8.  Another oops.  -create flag was not working in 0.7.7.
  2002. 9.  `set unsubscribe_new_groups' added to slrn.rc file.  If this is non-zero,
  2003.     newgroups will not automatically be subscribed to, e.g., if you desire
  2004.     this behavior, put the following in your .slrnrc file:
  2005.        set unsubscribe_new_groups 1
  2006. 10. In an effort to make the article screen look less busy, a new
  2007.     configuration variable `show_thread_subject' has been made available.
  2008.     If zero, only the parent thread's subject will be displayed.  If you do
  2009.     not like this, add:
  2010.       
  2011.         set show_thread_subject 1
  2012.     
  2013.     to your .slrnrc file.
  2014. 11. By default, articles are saved in folders with names beginning with a 
  2015.     capital letter.  If a folder with a lower case name already exists, slrn
  2016.     will use that.  That is, it is backward compatable.
  2017. 12. Improved man page (Thanks to Howard Goldstein <hg@n2wx.ampr.org>)
  2018. 13. XTerm mouse support added.  This option requires slang version 0.99-21.
  2019.     Use `set mouse 1' in your .slrnrc file to enable.  Note: mouse reporting
  2020.     is disabled at all slrn prompts so the mouse will be available for
  2021.     cut/paste in such contexts.
  2022.  
  2023. Changes since 0.7.6
  2024. 1.  Improvements for VMS.  Now supports NETLIB (Thanks Andrew).
  2025. 2.  Improved detection of supercite
  2026. 3.  The article mode functions `catchup' and `uncatchup' have changed
  2027.     slightly in a way that may be more useful.  Now, they function on all
  2028.     headers from the top of the header list to the current header.
  2029.     Previously they functioned on all headers from the current one to the
  2030.     end of the list.  Of course the functions `catchup_all' and
  2031.     `uncatchup_all' are still available.
  2032. 4.  New `config.h' file that allows HOSTNAME, ORGANIZATION, etc... to be
  2033.     compiled into the executable.
  2034. 5.  Slightly improved FAQ.
  2035.  
  2036. Changes since 0.7.5
  2037. 0.  VMS port thanks to Andrew Greer (Andrew.Greer@vuw.ac.nz)
  2038. 1.  Small bug in help.c corrected that caused problems on some systems if a
  2039.     custom help file was used.
  2040. 2.  New function: repeat_last_key.  The default binding is `.'.  The
  2041.     function that `.' used to be bound to has been moved to `;'.
  2042. 3.  slrn.rc may be placed in SLRN_LIB_DIR to provide defaults for all users,
  2043.     e.g., organization, hostname, ...  See INSTALL.
  2044. 4.  Catchup bindings changed in article mode.  (By popular demand).
  2045. 5.  Misc improvements.
  2046.  
  2047. Changes since 0.7.4
  2048. 1.  Oops!  It was possible to cancel any article in the old version.  I
  2049.     forgot to add a `return' statement after checking to make sure that the
  2050.     person cancelling actually posted the article.
  2051. 2.  Missing comma between two strings in help.c added.
  2052. 3.  `delete_thread' function added to article mode keybindings
  2053. 4.  `followup' added to slrn.rc.  This allows the user to set the followup 
  2054.      string.  For example, I use:  followup "On %d, %r <%f> wrote:"
  2055.      See slrn.rc for more information.
  2056. 5.  It is now possible to concatenate newsrc files.  slrn will now ignore
  2057.     repetitions.  For example, suppose that you have an old newsrc file that
  2058.     you wish to bring uptodate.  Let's call it `old'.  Suppose that another
  2059.     one, `new' is much more extensive.  Then do:
  2060.     
  2061.         % mv old old~
  2062.     % cat old~ new > old
  2063.     % slrn -f old
  2064.     
  2065.     If you have no idea how this may be useful, then you do not need it.
  2066. 6.  Group mode searches will automatically wrap.    
  2067. 7.  Some support for automatic detection of ``super-cited'' articles so that
  2068.     quoted lines are handled properly.  This works most of the time.
  2069. 8.  If `set no_backups 1' appears in the .slrnrc file, backups of the .newsrc
  2070.     file is turned off.
  2071. 9.  `g' in article mode will skip to the next digest.
  2072. 10. User is now prompted for chance to re-edit a message after editing.
  2073. 11. `set beep 0' may now be used to turn off the bell.  See slrn.rc.
  2074.  
  2075. Changes since 0.7.3
  2076. 1.  -i init-file command option added.  This allows a different slrn.rc file
  2077.     to be specified (default: .slrnrc).
  2078. 2.  Silly problem fixed when -create option used but .newsrc does not exist.
  2079. 3.  A line read in from the server that begins with two periods is stripped 
  2080.     of one of them as RFC977 requires.
  2081. 4.  Using a prefix argument to the followup command will insert the original
  2082.     headers into the followup.
  2083. 5.  If server drops the connection, an attempt is made to reconnect.
  2084.     (ljz@panix.com)
  2085.  
  2086. Changes since 0.7.2
  2087. 1.  Slight modification to extract real name routine so that if the name is
  2088.     not available, the address is used.
  2089. 2.  Now possible to specifiy a color for quoted text via `color quotes'.
  2090.     The default is: color quotes red white
  2091.     This really does improve readability of an article with quoted material!
  2092. 3.  NNRP authentification support added.  In .slrnrc, use a line like:
  2093.        nnrpaccess HOSTNAME USERNAME PASSWORD
  2094.  
  2095. Changes since 0.7.1
  2096. 0.  The XPAT server command is exploited if it is available.  Not all servers
  2097.       support it even though it is pretty standard.
  2098. 1.  ESC Ctrl-P will find all children of current header by querying the
  2099.     server.
  2100. 2.  Confirm Follow-up when poster sets the followup line to poster.
  2101. 3.  ESC-d will now mark the current thread as read-- that is, current header
  2102.     plus all children.
  2103. 4.  SPACE in article mode can be used to read next article or go to next
  2104.     group if pressed twice at the end of the current article.
  2105.     
  2106. Changes since 0.7.0
  2107. 1.  Typo in the `unsetkey' function corrected.  The typo was a serious one.
  2108. 2.  Small change in the Top/Bottom/Percentage calculation for the status line.
  2109. 3.  Misc bug fixes
  2110. 4.  See help.txt for creating your own custom help screen.
  2111.  
  2112. Changes since 0.6.3
  2113. 1.  Added `realname' to slrn.rc file.
  2114. 2.  TRUE referenced based threading added.  Subject sorting has been 
  2115.       abandoned.  A tree in drawn showing how articles are threaded.  The
  2116.       color of the tree may be specified by `color tree' in your .slrnrc
  2117.       file.  ESC-p will got to the parent of the current header.
  2118.       
  2119.       Note:  If the terminal cannot support line drawing characters, the
  2120.       tree will not appear.
  2121.  
  2122. Changes since 0.6.2
  2123. 1.  Xref mark as read now takes advantage of group name hashing.
  2124. 2.  Fixed problem with getlogin on some systems.
  2125.  
  2126. Changes since 0.6.1
  2127. 1.  `N' in article mode will now skip on to next group.  Lowercase `n' still
  2128.     retains its previous meaning.
  2129. 2.  Bug fixed in catchup-all in article mode.  Previously, it did not mark
  2130.     all as read.
  2131. 3.  A description of each newsgroup can be displayed next to the group name. 
  2132.     Use ESC-a to toggle it on/off.
  2133. 4.  New environment variable SLRN_LIB_DIR determines where to load files
  2134.     that may be shared by all users, e.g., the group description file.  By
  2135.     default, it is /usr/local/lib/slrn.  See INSTALL for more details.
  2136.     
  2137. Changes since 0.6.0
  2138. 1.  The `G' key at group mode may be used to retrieve new news from the
  2139.     server.  In addition, `X' will force the newsrc file to be saved.
  2140. 2.  Small bug corrected that manifests itself when no groups are subscribed
  2141.     to (a very rare situation).
  2142. 3.  The one-line help at the bottom of the screen is always visible now.  Of
  2143.     course, the full on-line help is still available.
  2144. 4.  The Makefile has been modified so that slrn may be easily termified
  2145.     under Linux.
  2146. 5.  Fixed a silly bug that made the -C color flag do nothing.
  2147.  
  2148. Changes since 0.5.3
  2149. 1.  Selecting a group with an ESC prefix digit argument will now select
  2150.     unread articles too.
  2151. 2.  My uudecode program can also unpack shell archives.  No need to edit
  2152.     those headers either.
  2153. 3.  When replying, the user defined quote string is used to quote the
  2154.     article. 
  2155. 4.  ESC-r from article mode will toggle rot13 decryption.
  2156. 5.  `|' in article mode will pipe article to an external command (e.g., lpr)
  2157. 6.  Some cosmetic improvements by ljz@ingress.com (Lloyd Zusman).
  2158. 7.  ESC-U, ESC-u, ESC-C, ESC-c added by ljz@ingress.com (Lloyd Zusman).
  2159.     These functions may be used to catchup and un-catchup on articles in
  2160.     article mode.
  2161. 8.  IF the line: `set show_article 1' appears in your .slrnrc file, the
  2162.     article is displayed when article mode is entered.
  2163.  
  2164. Changes since 0.5.2
  2165. 1.  Path header added when posting
  2166. 2.  When the newsrc file is written, a backup is made of the previous version.
  2167.  
  2168. Changes since 0.5.1
  2169. 1.  ESC-a toggles showing author's name on/off in the header window.  This
  2170.     provides a wider display for the subject.
  2171.  
  2172. Changes since 0.5.0
  2173. 1.  Improved help screen for beginners.
  2174. 2.  ESC-s now toggles header sorting on/off.
  2175. Changes since 0.4.0
  2176. 1.    LOGNAME environment variable now checked to get the user's login name.
  2177.       Previously, only USER was checked.
  2178. 2.    newsrc file locking added.
  2179. 3.    TAB key now moves past quoted text
  2180. 4.    `autobaud' keyword in .slrnrc file may be used to incicate that the
  2181.       output rate to the terminal should be synchronized to the terminal
  2182.       baud rate.  This behavior was always the default in previous versions.
  2183.       Now, it is off by default.
  2184. 5.  The `L' key in the group menu may now be used to toggle the display of
  2185.     unsubscribed groups on and off.  
  2186.  
  2187.